(1)ES6简介
1、什么是es6?
ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。
目标:是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
2、ECMAScript 和 JavaScript 的关系是:
前者是后者的规格,后者是前者的一种实现
3、ES6 与 ECMAScript 2015 的关系
2011 年,ECMAScript 5.1 版发布后,就开始制定 6.0 版了。因此,ES6 这个词的原意,就是指 JavaScript 语言的下一个版本。
ES6 的第一个版本,就这样在 2015 年 6 月发布了,正式名称就是《ECMAScript 2015 标准》(简称 ES2015)。2016 年 6 月,小幅修订的《ECMAScript 2016 标准》(简称 ES2016)如期发布,这个版本可以看作是 ES6.1 版,因为两者的差异非常小(只新增了数组实例的includes
方法和指数运算符),基本上是同一个标准。根据计划,2017 年 6 月发布 ES2017 标准。
ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等等,而 ES2015 则是正式名称,特指该年发布的正式版本的语言标准。
4、Node 是 JavaScript 的服务器运行环境(runtime)。
5、Babel 转码器
Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在现有环境执行。这意味着,你可以用 ES6 的方式编写程序,又不用担心现有环境是否支持。
实例:
1 // 转码前 2 input.map(item => item + 1); 3 4 // 转码后 5 input.map(function (item) { 6 return item + 1; 7 });
5.1、配置文件.babelrc
Babel 的配置文件是.babelrc
,存放在项目的根目录下。使用 Babel 的第一步,就是配置这个文件。
该文件用来设置转码规则和插件,基本格式如下。
1 { 2 "presets": [], 3 "plugins": [] 4 }
具体参考官方提供的规则集来进行填入。
【MARK】命令行转码babel-cli、babel-node、babel-register、babel-core、babel-polyfill 等参见百度百科。
6、其他转码器Traceur 转码器(Google 公司)
Babel提供的在线转换编辑器为REPL 在线编译器
Goole提供的为Traceur转码器