学习ES6:解构赋值
数组: http://www.bilibili.com/video/av6698380/index_3.html
对象: http://www.bilibili.com/video/av6698380/index_4.html
其他: http://www.bilibili.com/video/av6698380/index_5.html
解释
所谓解构赋值,就是将按照一定模式或结构,从数组或对象中提取值赋给相对应结构的变量
基本用法
1 | let [a, b, c] = [1, 2, 3]; |
只要左右两边的括号模式相同,变量则可相应赋值。
如若解构失败,变量值为
undefined
若等号右边不是可遍历的结构,则报错
一个斐波那契序列的例子:
1 | function* fib() { |
function *funcName(…params){…}
生成器函数 function generator
默认值
解构赋值允许使用默认值
用途
交换变量值
1
[x, y] = [y, x];
从函数中返回多个值
1
2
3
4
5function func([x = 1, y = 2, z = 3]) {
return [a, b, c] = [x, y, z];
}
let [a, b, c] = func([2, 3]);函数的参数定义(有序数组,无序对象)
数组:见上方例子
对象:
1
2
3
4
5function func({x = 1, y = 2, z = 3}) {
//...
}
func({x:3, y:1, z:0});提取JSON数据
设置函数参数默认值
遍历Map结构 for…of…结构
加载模块的指定方法
注意点
1 | let obj = { |