脚本宝典收集整理的这篇文章主要介绍了第一眼——ES6,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
越来越多的框架推荐使用ES6进行高效开发,node也早已支持ES6,那不如就偷偷瞄一眼儿这性感的“编程语言”?
献给初学者
Go~
ES6的一些特性
检测本地是否支持ES6环境
简便方法:直接在浏览器调试工具下尝试输入Promise(ES6的新API,用于异步事件的处理),如果能打印出其构造函数,则支持(如果真有浏览器光是支持了Promise而不支持ES6,那我服!)
在开发环境里面使用ES6
webpack+@L_360_4@ 作为转译工具进行ES6到ES5的编译
wp的配置详见
《webpack的安装及配置》
安装插件:
babel-loader
npm install babel-loader
babel-core
npm install babel-core
npm install babel-babel-transform
在webpack.config.js的module属性中的loaders字段加入
{
test: /.js$/,
loader: 'babel'
}
在项目根目录下创建配置文件.babelrc
{
'PResets': ['es2015']
}
一些新东西
class
类!
我们通过一个demo来初见一下js的class
class Student {
getName() {
console.LOG( ' This is es6 style ' );
}
//注意:这里不用逗号
getClass() {
console.log( 'gp02' );
}
}
以前通过var声明的变量因为变量提升的缘故,若非在函数作用域内声明,则为全局变量,而let则是解决了这个问题
一个实用场景:
//<=ES5
for ( VAR i = 0; i < 10; i ++ ) {
}
console.log( i );//9 变量提升到了全局
//ES6
for ( let ii = 0; ii < 10; i ++ ) {
}
console.log( ii );//undefined 变量只在for循环块级作用域中生效
Q:如何形成块级作用域?
大括号包围则形成一个块级作用域,如函数、循环、判断、选择等结构
{
let a = 0;
}
console.log( a );//undefined
let k = 0;
console.log( k );//0;
const
静态变量
const NAME = 'Samuel';
NAME = 'Lucifer';
console.log( NAME ); //报错,静态变量不能被重新复制,它相当于一个常量
const A=(a, b)=>a+b;
等价于
const A = function(a, b) {
return a+b;
}
方便回调函数的定义
fetch(url).then((data)=>{
console.log( data );
//从写法上来说也体现了回调函数的意义,“拿到data了,接着做点什么”
});
模块化
ES5的模块化
关键字:require module exports
遵循CommonJS规范
详见:前端模块化的那些事儿
ES6的模块化
关键字:import(导入) export(导出)
module.js
var number = 20;
//通过export导出
export default number
import.js
//通过import引入module模块
import num From './module.js' //这里是module.js的相对路径
//num对应module的出口number
console.log( num );//20
第一眼差不多看到这儿吧。别色眯眯的不想走啦!
行行行,再看一眼:
瞧得咋地?
A bright new Future is coming!(半夜看的同学,对不起!)
4不4很酥胡~。:)
解决了以前那些无处安放的对象和作用域问题。
要是您忘不了,之后还有ES6的API。。。
以上是脚本宝典为你收集整理的第一眼——ES6全部内容,希望文章能够帮你解决第一眼——ES6所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。