解构赋值是ES6语法糖,可从数组或对象中按位置或属性名提取值并赋给变量,支持跳过元素、默认值、重命名及剩余运算符,常用于函数参数、变量交换和返回多值,提升代码可读性与开发效率。

ES6 中的解构赋值是一种便捷的语法,能让我们从数组或对象中提取值并赋给变量,写法更简洁、语义更清晰。它本质上是一种“语法糖”,让原本冗长的赋值操作变得直观易读。
数组解构赋值
数组解构允许我们按照位置从数组中提取元素:
const arr = [1, 2, 3];const [a, b, c] = arr;
// 相当于 a = 1, b = 2, c = 3
支持跳过某些元素:
const [x, , z] = [10, 20, 30]; // x = 10, z = 30也支持默认值和剩余运算符:
const [m = 5, ...rest] = [1]; // m = 1(有值不使用默认),rest = []对象解构赋值
对象解构依据属性名提取值,顺序无关:
const obj = { name: 'Alice', age: 25 };const { name, age } = obj;
// name = 'Alice', age = 25
可以重命名变量:
const { name: userName } = obj; // userName = 'Alice'同样支持默认值:
const { gender = 'unknown' } = obj; // gender = 'unknown'常见应用场景
解构在实际开发中非常实用:
- 函数参数解构:直接提取传入的对象属性 function display({ name, age }) {
- 交换变量:无需临时变量 let a = 1, b = 2;
- 返回多个值:函数可返回数组或对象,调用方轻松接收 function getCoords() {
console.log(`${name} is ${age} years old`);
}
[a, b] = [b, a]; // a = 2, b = 1
return [100, 200];
}
const [x, y] = getCoords();
基本上就这些。解构赋值虽是语法糖,但极大提升了代码可读性和开发效率,掌握它对现代 JavaScript 编程很有帮助。不复杂但容易忽略细节,比如嵌套结构和默认值的结合使用,多练习就能熟练。










