解构的含义
按照一定的模式,从数组和对象中取值,对变量进行赋值,称为解构。解构赋值时,只要等号两边不是对象,就先将其转换成对象。
可以说这种方式就是等号两边的解构相同,左边的变量就会被赋予右边的对应值。
代码演示:
数组:
let [a,b,c] = [10,20,30];
console.log(a,b,c); ==> 输出结果:10,20,30
对象:
let {a,b,c,d} = {a:'你',b:'真',c:'好',d:'看'};
console.log(a,b,c,d); ==> 输出结果:'你' '真' '好' '看'
解构的限制
1)undefined与null 无法转换成对象,解构赋值会报错。 ==> Cannot destructure property
a
of ‘undefined’ or ‘null’.
2)
let [a] = 10;
console.log(a);
这种赋值方式会报错 ==> 10 is not iterable。原因:等号的右边不是数组,转换对象以后不具备 Iterator接口,或本身就不具备Iterator接口