概述
解构:解构是一种打破数据结构,将其拆分为更小部分的过程。
解构赋值是对赋值运算符的扩展,是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。
数组的解构赋值
-
基本用法
只要等号两边的模式相同,左边的变量就会被赋予对应的值。
解构赋值不仅适用于 let 命令,也适用于 var 和 const 命令。 -
默认值
解构赋值允许指定默认值。
当解构模式有匹配结果,且匹配结果是 undefined 时,会触发默认值作为返回结果。
上面代码中,如果一个数组成员是 null,默认值就不会生效,因为 null 不严格等于 undefined。
默认值可以引用解构赋值的其他变量,但该变量必须已经声明。
对象的解构赋值
-
基本用法
解构不仅可以用于数组,还可以用于对象。
对象解构与数组解构的区别:
- 数组的元素是按次序排列的,变量的取值由它的位置决定;
- 对象的属性没有次序,变量必须与属性同名,才能取到正确的值。
-
默认值
对象的解构也可以指定默认值。
默认值生效的条件是,对象的属性值严格等于undefined。