1、解构赋值
1.1、定义
什么是解构赋值?
ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。这种赋值语法极度简洁,同时还比传统的属性访问方法更为清晰。
其中包括:数组,对象的解构赋值,字符串的解构赋值,函数参数的解构赋值
1.2、数组解构
1 | let test=[1,2,3]; |
1.3、对象解构
1 | let obj={ foo: "a", bar: "b" }; |
1.4、字符解构
1 | const [a, b, c, d, e] = 'hello'; |
1.5、函数解构
1 | //es5 |
2、运算符(…)
2.1、定义
(…)用于把一个数组转化为用逗号分隔的参数序列,它常用在不定参数个数时的函数调用,数组合并,替代es5的apply方法,与解构赋值结合,生成新数组等情形。
2.2、可变参数个数的函数调用
1 | function add(...vals) { |
2.3、便捷的数组合并
1 | let arr1 = [1,2]; |
2.4、替代es5的apply方法
1 | //ES5 |
2.5、与解构赋值结合,生成新数组
1 | const [first, ...rest] = [1, 2, 3]; |
3、箭头函数
3.1、定义
es6使用“箭头”(=>)定义函数。
箭头函数(arrow function),使用的频率非常的高,写法也是非常的简洁和清晰!
3.2、简化回调函数
1 | [1,2,3].map(function (x) { |
4、箭头函数
4.1、定义
模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量,可多重嵌套。
4.2、简化回调函数
1 | //es5 |
5、export, import
5.1、定义
使用import取代require。
使用export取代module.exports。
5.2、简化回调函数
1 | //es5 |
6、for … of
6.1、定义
for…of循环,可以使用的范围包括数组、Set 和 Map 结构、某些类似数组的对象(比如arguments对象、DOM NodeList 对象)、Generator 对象,以及字符串。
6.2、遍历数组
1 | const arr = ['red', 'green', 'blue']; |
6.3、遍历Set 和 Map 结构
1 | let map = new Map().set('a', 1).set('b', 2); |
7、es6代码片段示例:
1 | const moment = require('moment'); |
8、小结
以上是平时用得比较多的内容,这些语法、新增类型、模块调用等从代码量上、可读性上、操作上给项目带来了不少便利。
随着es6的普及,这些高级语言的特性让写js也越来越顺畅。
9、参考资料
1 | 1.ECMAScript 6 入门http://es6.ruanyifeng.com/ |