1.ECMAScipt和JavaScript的关系
96年javascript之父netscape 交给国际标准组织ECMA管理,
ECMAScipt是javascript的一种规范,javascript是ECMAJavascript的一种实现
2.ECMAScript 的历史
1997 1.0
1998/6 2.0
1999/12 3.0
2000 4.0(开始设计)(es6中大量继承)
2007 yahoo、微软、google等公司的分歧
2008 终止4.0发布 在3的基础上做小的改动发布为3.1,不久更名为5.0
2011 5.1发布成为国际标准
2013/3 6.0草案冻结,新的想法放入下一个版本
2013/12 6.0草案发布,12个月的讨论期
2015/6 6.0正式发布,成为国际标准
3.ES6 与 ECMAScript 2015 的关系
2011年,ECMAScript 5.1版发布后,就开始制定6.0版了,ES6 这个词的原意,就是指 JavaScript 语言的下一个版本。
ECMAScript 2015(简称 ES2015)ES6 的第一个版本, 2015年6月发布
2016年6月 (ES2016) 2017年6月 (ES2017)
4.Babel转码器
全局安装:
Npm install -g babel-cli
项目安装:
npm install --save-dev babel-cli
转码规则安装:
npm install --save-dev babel-preset-latest
npm install --save-dev babel-preset-es2015
npm install --save-dev babel-preset-stage-0 //es7
npm install --save-dev babel-preset-stage-1
npm install --save-dev babel-preset-stage-2
npm install --save-dev babel-preset-stage-3
配置文件:(对象的形式)
{
"presets": [
"stage-2"
],
"plugins": []
}
转码命令:
babel 01.js -o _01.js //文件输出到文件
babel src -d lib -s //目录输出到目录 -s为生成map文件
REPL工具babel-node直接运行:
使用:
babel-node 01.js
babel-register:
babel-register模块改写require命令,为它加上一个钩子。此后,每当使用require加载.js、.jsx、.es和.es6后缀名的文件,就会先用Babel进行转码。首先加载babel-register,只会对require命令加载的文件转码,而不会对当前文件转码
babel-core 在文件中使用api进行转换:
项目安装:
Npm install babel-core --save-dev
浏览器环境:
<script src="https://cdnjs.cloudflare.com/ajax/libs/babelstandalone/6.4.4/babel.min.js">
</script>
<script type="text/babel">
</script>