📜  ES6阵列解构(1)

📅  最后修改于: 2023-12-03 15:00:37.497000             🧑  作者: Mango

ES6阵列解构

在ES6中,阵列解构是一种方便的语法,可以从阵列中提取值并将它们分配给变量。这个特性不仅使代码更清晰,而且可以减少重复代码。

基本语法

阵列解构的基本语法是下面这样的:

let [a, b, c] = [1, 2, 3];

这个语句将1分配给变量a,将2分配给b,将3分配给c。可以将变量声明和解构组合成一个语句:

const [a, b, c] = [1, 2, 3];
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3
默认值

解构时可以为变量提供默认值,例如:

const [a, b, c = 3] = [1, 2];
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3
交换变量

解构还可以用来交换变量的值,这样更加清晰而且不需要额外的中间变量:

let a = 1;
let b = 2;
[a, b] = [b, a];
console.log(a); // 2
console.log(b); // 1
剩余元素

可以使用扩展操作符(...)来捕获解构过程中未匹配的元素,例如:

const [a, ...rest] = [1, 2, 3, 4];
console.log(a); // 1
console.log(rest); // [2, 3, 4]
对象解构

除了阵列解构之外,ES6还引入了对象解构。这种语法使我们能够从对象中提取属性值并将它们分配给变量。

const obj = { x: 1, y: 2, z: 3 };
const { x, y, z } = obj;
console.log(x); // 1
console.log(y); // 2
console.log(z); // 3

可以使用与阵列解构类似的语法为变量提供默认值:

const obj = { x: 1, y: 2 };
const { x, y, z = 3 } = obj;
console.log(x); // 1
console.log(y); // 2
console.log(z); // 3
嵌套解构

阵列和对象也可以进行嵌套解构,例如:

const arr = [1, [2, 3], 4];
const [{ a }, [b, c], d] = arr;
console.log(a); // undefined
console.log(b); // 2
console.log(c); // 3
console.log(d); // 4
结论

ES6中的阵列和对象解构是一种方便的语法,可以使代码更加清晰易懂。它还可以减少重复代码,使代码更简洁。