跳到主要内容

解构-声明

1. 数组解构

let [first, second] = [1, 2];
logd(first); // 输出: 1
logd(second); // 输出: 2

2. 稀疏数组解构

let [a, , c] = [1, undefined, 3];
logd(a); // 输出: 1
logd(c); // 输出: 3

3. 字符串解构

let [char1, char2] = "ab";
logd(char1); // 输出: a
logd(char2); // 输出: b

4. 对象解构

let { name, age } = { name: "Alice", age: 25 };
logd(name); // 输出: Alice
logd(age); // 输出: 25

5. 嵌套解构

let { a: { b: { c } } } = { a: { b: { c: 1 } } };
logd(c); // 输出: 1

6. 在 for-in 循环头中解构

let obj = { a: 1, b: 2 };
for (let { a, b } of Object.entries(obj)) {
logd(a); // 输出: 1
logd(b); // 输出: 2
}

7. 在 for-of 循环头中解构

let arr = [1, 2, 3];
for (let [i, value] of arr.entries()) {
logd(i); // 输出: 0, 1, 2
logd(value); // 输出: 1, 2, 3
}

8. 默认值

let { a = 1, b = 2 } = { a: 3 };
logd(a); // 输出: 3
logd(b); // 输出: 2