1. ECMAScript 6 简介--ES6

1. ECMAScript 和 JavaScript 的关系

国际标准化组织ECMA 制定了语言 ECMAScript, 该标准针对 Javascript 语言制定, 不叫Javascript 原因有, 1: Java 是 Sun 公司的商标, 根据授权协议, 只有 Netscape 公司可以合法的使用, 2: 该语言的制定者是 ECMA,不是 Netscape

ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 Jscript 和 ActionScript)

2. ES6 与 ECMAScript 2015 的关系
2011年,ECMAScript 5.1版发布后,就开始制定6.0版了。ES6 的第一个版本,就这样在2015年6月发布了,正式名称就是《ECMAScript 2015标准》(简称 ES2015)。2016年6月,小幅修订的《ECMAScript 2016标准》(简称 ES2016)如期发布。2017年6月发布 ES2017 标准。

因此,ES6 含义是5.1版以后的 JavaScript 的下一代标准,涵盖了ES2015、ES2016、ES2017等等,而ES2015 则是正式名称。

5.部署进度

node 已经实现的 ES6 特性
window 下执行命令 node --v8-options | findstr harmony,
unix 上执行命令 node --v8-options | grep harmony

6.Babel

1) 部署
新建目录 babel_test
$ cd babel_test
$ cnpm init
$ cnpm install --save-dev babel-preset-latest
新建 .babelrc 文件
新建 es6.js, 里面的代码是:
const a = 1;
console.log(a);

2)babel-cli
命令行转码babel-cli, cli 是 command-line interface (命令行界面)
基本用法如下:

$ babel example.js
结果会进行转码:
"use strict";

var a = 1;
console.log(a);

$ babel es6.js -o compiled.js
会生成 compiled.js, 里面的代码是:
"use strict";

var a = 1;
console.log(a);

3)babel-node
babel-cli工具自带一个babel-node命令

它支持Node的REPL环境的所有功能,而且可以直接运行ES6代码。

它不用单独安装,而是随babel-cli一起安装。然后,执行babel-node就进入REPL环境。

REPL 的意思是 R(read)、E(evaluate)、P(print)、L(loop);

$ babel-node
> (x => x * 2)(1)
2

$ babel-node es6.js
1

4)浏览器环境
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.4.4/babel.min.js"></script>
<script type="text/babel">
// Your ES6 code
</script>

在线转换地址
https://babeljs.io/repl/

7. Traceur 转码器
Google公司的,
在线转换地址 http://google.github.io/traceur-compiler/demo/repl.html

原文地址:https://www.cnblogs.com/zhengming2016/p/6857081.html