《ECMAScript 6 入门》笔记1

时间:2022-08-27 16:11:06

ECMAScript 6简介

2011年 ECMAScript 5.1版发布
2015年6月发布 《ECMAScript 2015标准》(简称 ES2015) ES6 的第一个版本
2016年6月发布 小幅修订的《ECMAScript 2016标准》(简称 ES2016),这个版本可以看作是 ES6.1 版,因为两者的差异非常小(只新增了数组实例的includes方法和指数运算符)
2017年6月发布 ES2017 标准
ES6 既是一个历史名词,也是一个泛指,含义是5.1版以后的 JavaScript 的下一代标准,涵盖了ES2015、ES2016、ES2017等等,而ES2015 则是正式名称,特指该年发布的正式版本的语言标准。本书中提到 ES6 的地方,一般是指 ES2015 标准,但有时也是泛指“下一代 JavaScript 语言”。

 

各大浏览器的最新版本,对 ES6 的支持可以查看kangax.github.io/es5-compat-table/es6/

Node 是 JavaScript 的服务器运行环境(runtime)。

使用下面的命令,可以查看 Node 已经实现的 ES6 特性。

 

$ node --v8-options | grep harmony

  

 

Babel 中文网 · Babel:下一代 JavaScript 语法的编译器

Babel 提供一个REPL在线编译器,可以在线将 ES6 代码转为 ES5 代码。

Babel 转码器  将ES6 代码转为 ES5 代码,从而在现有环境执行。这意味着,你可以用 ES6 的方式编写程序,又不用担心现有环境是否支持。

babel-cli 命令行转码
babel-node命令 babel-cli工具自带,提供一个支持ES6的REPL(交互式解释器)环境。它支持Node的REPL环境的所有功能,而且可以直接运行ES6代码。

babel-register模块改写require命令,为它加上一个钩子。此后,每当使用require加载.js、.jsx、.es和.es6后缀名的文件,就会先用Babel进行转码。
babel-core模块 调用 Babel 的 API 进行转码
babel-polyfill,转码的 API, Babel默认只转换新的JavaScript句法(syntax),而不转换新的API

 

Traceur Google公司的转码器,也可以将 ES6 代码转为 ES5 代码。

 

http://www.firemail.wang:8088/forum.php?mod=viewthread&tid=8567