解构赋值

57 阅读1分钟
解构赋值是ES6中新增的语法,它可以方便地从数组或对象中提取值并赋值给变量。下面是一些示例:

1. 数组解构赋值

```javascript
let arr = [1, 2, 3];
let [a, b, c] = arr;
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3
```

2. 对象解构赋值

```javascript
let obj = { name: 'Tom', age: 18 };
let { name, age } = obj;
console.log(name); // 'Tom'
console.log(age); // 18
```

3. 嵌套解构赋值

```javascript
let arr = [1, 2, [3, 4]];
let [a, b, [c, d]] = arr;
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3
console.log(d); // 4

let obj = { name: 'Tom', age: 18, address: { city: 'Beijing', country: 'China' } };
let { name, age, address: { city, country } } = obj;
console.log(name); // 'Tom'
console.log(age); // 18
console.log(city); // 'Beijing'
console.log(country); // 'China'
```

4. 默认值

```javascript
let arr = [1, 2];
let [a, b, c = 3] = arr;
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3

let obj = { name: 'Tom', age: 18 };
let { name, age, gender = 'male' } = obj;
console.log(name); // 'Tom'
console.log(age); // 18
console.log(gender); // 'male'
```

解构赋值可以大大简化代码,特别是在处理对象和数组时非常有用