ES6新特性2:变量的解构
2019-12-19 本文已影响0人
泰然自若_750f
![](https://img.haomeiwen.com/i5829420/d5d2cba4da6dcf19.png)
变量的解构:
ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring);
便于给变量赋初值;
let [a,b,c]=[1,2,3]; 这样实现就可以给a,b,c分别赋值为1,2,3
![](https://img.haomeiwen.com/i5829420/b67a2d237eef2559.png)
解构的默认值:
如果解构不成功,变量的值会被解析为undefined
![](https://img.haomeiwen.com/i5829420/123a958699a14335.png)
解析对象
变量必须与属性同名,才能取到正确的值
默认值:var{x, y =5} = {x:1}; 解构结果:x// 1y// 5(默认值生效的条件是,对象的属性值严格等于undefined。)
注意:等号左边的两个变量的次序,与等号右边两个同名属性的次序不一致,但是对取值完全没有影响。第二个例子的变量没有对应的同名属性,导致取不到值,最后等于undefined。
![](https://img.haomeiwen.com/i5829420/828b2ea2402b655c.png)
注意:使用中 如果使用let ,如果代码块中如果已经命名,结构对象里如果和已声明对象重名则会报错
![](https://img.haomeiwen.com/i5829420/00934ae123c8fad4.png)
字符串的解构赋值
ES6为字符串添加了遍历器接口,字符串也可以解构赋值。这是因为此时,字符串被转换成了一个类似数组的对象。
![](https://img.haomeiwen.com/i5829420/d1c22ece9a7f1cb5.png)