This MDN documentation on destructuring assignment说“对于object和array解构,有两种解构模式:binding pattern和assignment pattern”。因此,应该有四种类型的解构语法:
我已经多次阅读了 MDN 文档页面,该页面似乎只提供了前 3 种类型的示例。谷歌搜索似乎也无济于事。
什么是类型 4 的例子?
谢谢!
对于类型 3,MDN 提供了这个例子:
// This assigns a to numbers[0] , and b to number[1]
({ a: numbers[0], b: numbers[1] } = obj);
Type 4 的等效示例是什么?谢谢!
通过 JavaScript 中的赋值模式进行数组解构允许您在单个语句中将数组中的值分配给单独的变量。这是一个例子:
const myArray = [1, 2, 3];
const [a, b, c] = myArray;
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3
以下是您列出的四种类型中每一种的示例:
// Type 1: Object destructuring via binding pattern
const person = {
name: 'Alice',
age: 30,
};
const { name, age } = person;
// Type 2: Array destructuring via binding pattern
const rgb = [255, 200, 100];
const [red, green, blue] = rgb;
// Type 3: Object destructuring via assignment pattern
const person = {
name: 'Bob',
age: 25,
};
let name, age;
({ name, age } = person);
// Type 4: Array destructuring via assignment pattern
const rgb = [255, 200, 100];
let red, green, blue;
[red, green, blue] = rgb;
// Type 4 (advanced example)
const obj = {
numbers: [1, 2, 3, 4, 5],
};
let a, b;
// This assigns a to obj.numbers[0], and b to obj.numbers[1]
[a, b] = obj.numbers;