# 解构赋值

解构赋值是一种简洁的语法,用于从数组或对象中提取值并赋值给变量。

# 数组解构赋值

  • 基本语法:按照数组元素的位置进行提取。例如,let [a, b] = [1, 2];,这里把数组 [1, 2] 中的第一个元素赋值给 aa 的值为 1),第二个元素赋值给 bb 的值为 2)。
  • 跳过元素提取:可以使用逗号跳过某些元素,如 let [a,, c] = [1, 2, 3];,此时 a 的值为 1c 的值为 3,中间的元素 2 被跳过。
  • 默认值:当解构的值不存在时,可以设置默认值。例如,let [a = 0] = [];,由于空数组没有元素可供提取,所以 a 会使用默认值 0

# 对象解构赋值

  • 基本语法:通过对象的属性名来提取值。例如,let { x, y } = { x: 1, y: 2 };x 的值为 1y 的值为 2
  • 别名:如果变量名和属性名不一致,可以使用别名。例如,let { x: newX, y: newY } = { x: 1, y: 2 };,这里将对象中的 x 属性值赋给 newXnewX 的值为 1),y 属性值赋给 newYnewY 的值为 2)。
  • 默认值:和数组一样,对象解构赋值也可以设置默认值。如 let { z = 3 } = {};,因为空对象没有 z 属性,所以 z 会使用默认值 3

解构赋值可以让代码更简洁,在函数参数传递、从复杂的数据结构中提取数据等场景中非常有用。