1.Javacript 和 ECMAScript 的区别
ECMAScript 是一种标准,Javacript 是ECMAScript 实现的一种语言。
2.ECMAScript 的版本
es6 es5
3.Babel
Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码。
(1)Babel 的配置文件是.babelrc
{
"presets": [], //转码规则
"plugins": []
}
(2)Babel命令行转码
npm install --global babel-cli //全局安装
babel example.js --out-file compiled.js //指定文件转码
babel example.js -o compiled.js //同上
babel src --out-dir lib //指定文件夹转码
babel src -d lib //同上
babel src -d lib -s //参数生成source map文件
npm install --save-dev babel-cli //项目依赖安装 然后在package.json 的scripts自定义命令
(3)babel-node自定义运行环境 babel-cli一起安装了
babel-node
> (x => x * 2)(1) //可以写脚本运行
2
babel-node es6.js //也可以运行脚本文件
"scripts": {
"script-name": "babel-node script.js" //同上项目依赖安装后,写入package.json
}
(4)babel-register对require文件转码
npm install --save-dev babel-register //安装
require("babel-register"); //使用前要引入
require("./index.js");
3.ECMAScript 6学习
3.1 let 性能:(1)块级作用域(仅仅在声明的{}内有效);(2)不存在变量提升,使用在声明后
3.2 const 常量 特性:(1)作用域同var;(2)不能进行赋值
3.3 变量的解构赋值
3.3 set 集合 类似数组 , 值唯一, let s = new Set()
方法:(1)size 成员个数 (2)add(value):添加某个值 (3)delete(value):删除某个值。
(4)has(value):返回一个布尔值,表示该值是否为set的成员 (4)clear():清除所有成员
3.4 map 类似对象 ,键值对不限字符串,let m = new Map();
方法: