经常需要定义许多对象和数组,然后需要从中提取相关的一部分。在ES6中添加了可以简化这种任务的新特性:解构赋值。解构赋值是一种打破数据结构,将其拆分为更小部分的过程。
基本用法,如代码示例2-9所示。
代码示例2-9
可嵌套解构数组中的值,如代码示例2-10所示。
代码示例2-10
可忽略解构数组中的某些值,如代码示例2-11所示。
代码示例2-11
不完全解构,如代码示例2-12所示。
代码示例2-12
剩余运算符,如代码示例2-13所示。
代码示例2-13
字符串等,如代码示例2-14所示。
在数组的解构中,解构的目标若为可遍历对象,则皆可进行解构赋值。可遍历对象即实现Iterator接口的数据。
代码示例2-14
解构默认值,如代码示例2-15所示。
代码示例2-15
对象的解构赋值和数组的解构赋值其实类似,但是数组的数组成员是有序的,而对象的属性则是无序的,所以对象的解构赋值可简单地理解为等号的左边和右边的结构相同。
基本用法,如代码示例2-16所示。
代码示例2-16
可嵌套可忽略,如代码示例2-17所示。
代码示例2-17
不完全解构,如代码示例2-18所示。
代码示例2-18
剩余运算符,如代码示例2-19所示。
代码示例2-19