ES6
1.什么是ES6
ECMAScript 6(简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。Mozilla公司在这个标椎的基础上,推出JavaScript 2.0。ECMAScript的语言标椎。
优点:解决了ES5的先天不足,加入了模块化的概念和优化语法等
缺点:目前浏览器的JavaScript是ES5版本,大多数高版本的浏览器也支持ES6,不过只实现了ES6的部分特性和功能,对浏览器存在兼容性问题。
2.前端模块化
2.1 四种规范
- commonJS规范
- ES6规范
- AMD规范
- CMD规范
2.2 commonJS和ES6的差异
1.commonJS 模块输出是一个值的拷贝,ES6模块输出的是值的引用
2.commonJS模块是运行时加载,ES6模块是编译时输出接口
2.3对commonJS和AMD的理解
- CommonJS是服务器端模块的规范,Node.js采用了这个规范。CommonJS规范加载模块是同步的,也就是说,只有加载完成,才能执行后面的操作。 AMD规范则是非同步加载模块,允许指定回调函数。
- AMD推荐的风格通过返回一个对象作为模块对象, CommonJS的风格通过对module.exports或exports的属性赋值来达到暴露模块对象的目的。
3.解构
3.1 数组的解构
let [a, b, c] = [1, 2, 3]
console.log(a, b, c);
2.不完全解构
let arr = [1, 2, 3]
let [a, b, c] = arr;
console.log(a, b, c );
3.聚合解构 ...是拓展运算符
let [a, ...b] = [1, 2, 3, 4, 5]
console.log(a,b);
4.默认值解构(当匹配值严格等于undefined时,默认值生效)
let [a=1,b=2,c=3]=[4,5,6];
console.log