解构赋值
通过模式匹配从数组或对象中提取值,并赋值给变量。
1. 数组解构
javascript
let [a, b, c] = [1, 2, 3];
console.log(a); // 1
console.log(b); // 2
console.log(c); // 32. 对象解构
javascript
let {name, age} = {name: 'John', age: 30};
console.log(name); // John
console.log(age); // 303. 嵌套解构
javascript
let {name: {first, last}} = {name: {first: 'John', last: 'Doe'}};
console.log(first); // John
console.log(last); // Doe4. 解构默认值
javascript
let [a = 1, b = 2, c = 3] = [1, 2];
console.log(a); // 1
console.log(b); // 2
console.log(c); // 35. 解构参数
javascript
function greet({name, age}) {
console.log(`Hello, ${name}! You are ${age} years old.`);
}
greet({name: 'John', age: 30}); // Hello, John! You are 30 years old.6. 解构赋值的限制
!> 解构赋值要求等号左边的模式必须是一个可遍历的结构(即,必须有 Iterator 接口),如 Array、Map、Set、String、TypedArray、arguments 对象等。
