解构赋值是ES6中新增的语法,它可以方便地从数组或对象中提取值并赋值给变量。下面是一些示例:
1. 数组解构赋值
```javascript
let arr = [1, 2, 3]
let [a, b, c] = arr
console.log(a)
console.log(b)
console.log(c)
```
2. 对象解构赋值
```javascript
let obj = { name: 'Tom', age: 18 }
let { name, age } = obj
console.log(name)
console.log(age)
```
3. 嵌套解构赋值
```javascript
let arr = [1, 2, [3, 4]]
let [a, b, [c, d]] = arr
console.log(a)
console.log(b)
console.log(c)
console.log(d)
let obj = { name: 'Tom', age: 18, address: { city: 'Beijing', country: 'China' } }
let { name, age, address: { city, country } } = obj
console.log(name)
console.log(age)
console.log(city)
console.log(country)
```
4. 默认值
```javascript
let arr = [1, 2]
let [a, b, c = 3] = arr
console.log(a)
console.log(b)
console.log(c)
let obj = { name: 'Tom', age: 18 }
let { name, age, gender = 'male' } = obj
console.log(name)
console.log(age)
console.log(gender)
```
解构赋值可以大大简化代码,特别是在处理对象和数组时非常有用