es6解构赋值
时间: 2023-07-16 11:16:45 浏览: 83
ES6 中引入了解构赋值的语法,它可以让我们快速地从数组或对象中提取出需要的值,并赋值给新的变量。
解构赋值的基本语法如下:
```
// 数组解构赋值
let [a, b, c] = [1, 2, 3];
// 对象解构赋值
let { x, y, z } = { x: 1, y: 2, z: 3 };
```
上面的代码中,我们分别使用了数组解构赋值和对象解构赋值,将数组 `[1, 2, 3]` 中的值分别赋值给了变量 `a`, `b`, `c`,将对象 `{ x: 1, y: 2, z: 3 }` 中的值分别赋值给了变量 `x`, `y`, `z`。
在解构赋值中,我们可以使用默认值来避免变量未定义的情况:
```
let [a = 1, b = 2, c = 3] = [4];
console.log(a, b, c); // 输出:4 2 3
```
此外,我们还可以使用 rest 运算符来获取数组或对象中剩余的值:
```
let [a, b, ...rest] = [1, 2, 3, 4, 5];
console.log(a, b); // 输出:1 2
console.log(rest); // 输出:[3, 4, 5]
let { x, y, ...rest } = { x: 1, y: 2, z: 3, a: 4, b: 5 };
console.log(x, y); // 输出:1 2
console.log(rest); // 输出:{ z: 3, a: 4, b: 5 }
```
解构赋值还可以嵌套使用,以便更方便地获取嵌套的数据结构中的值:
```
let { a, b, c: { d, e } } = { a: 1, b: 2, c: { d: 3, e: 4 } };
console.log(a, b, d, e); // 输出:1 2 3 4
```