结构赋值(Destructuring Assignment)是一种方便的语法,允许你从数组或对象中提取数据并赋值给变量。以下是结构赋值的一些常见用法:
let { key1, key2 } = { key1: 'value1', key2: 'value2' };
// 对象
let person = { name: 'John', age: 30 };
// 解构赋值
let { name, age } = person;
console.log(name); // 输出: John
console.log(age); // 输出: 30
let [element1, element2] = ['value1', 'value2'];
// 数组
let colors = ['red', 'green', 'blue'];
// 解构赋值
let [firstColor, secondColor] = colors;
console.log(firstColor); // 输出: red
console.log(secondColor); // 输出: green
可以为解构赋值指定默认值,以防提取的值为 undefined
let { key1 = 'default1', key2 = 'default2' } = { key1: 'value1' };
console.log(key1); // 输出: value1
console.log(key2); // 输出: default2
使用剩余运算符(Rest Operator)可以获取对象或数组中的剩余项:
let { first, second, ...rest } = { first: 1, second: 2, third: 3, fourth: 4 };
console.log(first); // 输出: 1
console.log(second); // 输出: 2
console.log(rest); // 输出: { third: 3, fourth: 4 }
let [first, second, ...rest] = [1, 2, 3, 4, 5];
console.log(first); // 输出: 1
console.log(second); // 输出: 2
console.log(rest); // 输出: [3, 4, 5]