解构赋值
1.数组的解构赋值
以前,为变量赋值,只能直接指定值。
es6:
如果解构不成功,变量的值就等于undefined
。
如果等号的右边不是可遍历的结构,那么将会报错。
默认值
解构赋值允许指定默认值。
注意,ES6 内部使用严格相等运算符(===
),判断一个位置是否有值。所以,如果一个数组成员不严格等于undefined
,默认值是不会生效的。
如果默认值是一个表达式,只有在用到的时候,才会求值.
2.对象的解构赋值
对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。
如果变量名与属性名不一致,必须写成下面这样。
解构也可以用于嵌套结构的对象。
3.字符串的解构赋值
字符串也可以解构赋值。这是因为此时,字符串被转换成了一个类似数组的对象。