Destructuring assignment
1.0、参考
1.1、各个环境对该功能的支持程度
1.2、解释

destructuring的汉语意思是解开构造体,我们可以把构造体理解为复杂结构, 在ECMAScript里,复杂结构2种:数组对象。 所以,destructuring就是把数组对象中的元素一个一个的拿出来,assignment的汉语意思是赋值destructuring assignment合起来的意思就是把数组对象中的元素分别赋值给对应的变量。

1.3、数组的解构

示例1:

let a, b;
[a, b] = [10, 20];
console.log(a); // 10
console.log(b); // 20

示例2:

let a, b, rest;
[a, b, ...rest] = [10, 20, 30, 40, 50];
console.log(a); // 10
console.log(b); // 20
console.log(rest); // [30, 40, 50]
1.4、对象的解构

示例1:

const {PI} = Math;

示例2:

const obj = {p: 42, q: true};
const {p, q} = obj;
console.log(p); // 42
console.log(q); // true

示例3:

const obj = {p: 42, q: true};
const {p = 18, q = false, r = '女'} = obj;
console.log(p); // 42
console.log(q); // true
console.log(r); // 女

示例4:

const obj = {p: 42, q: true};
function xx({p}) {
    console.log(p); // 42
}
xx(obj);