解构赋值是JavaScript中从数组或对象提取值并赋给变量的简洁语法,支持对象/数组解构、重命名、默认值、嵌套结构及函数参数解构。

解构赋值是 JavaScript 中一种从数组或对象中提取值并赋给变量的简洁语法,它让代码更清晰、更少冗余。
对象解构:按属性名提取值
可以直接从对象中取出指定属性,无需重复写对象名和点号。
- 基础用法:const { name, age } = person; 等价于 const name = person.name; const age = person.age;
- 重命名变量:const { name: fullName, age: userAge } = person; 把 name 赋给 fullName
- 设置默认值:const { city = 'Beijing' } = person; 如果 person.city 不存在或为 undefined,就用默认值
数组解构:按位置提取元素
通过方括号和逗号分隔的位置关系,快速获取数组中的项。
- 基本形式:const [first, second] = arr; 取出前两个元素
- 跳过某些元素:const [,, third] = arr; 忽略前两项,只取第三项
- 剩余元素收集:const [head, ...rest] = arr; rest 是一个包含后续所有元素的新数组
嵌套结构也能解构
对象或数组内部还有对象或数组时,可以一层层展开写。
立即学习“Java免费学习笔记(深入)”;
- 嵌套对象:const { address: { street, zip } } = user;
- 嵌套数组:const [[a, b], [c]] = matrix; 从二维数组中分别取出值
- 混合使用:const { items: [firstItem], meta: { total } } = response;
函数参数中的解构很实用
把解构直接写在函数形参里,调用时传入对象或数组即可自动拆解。
- 对象参数:function logUser({ name, age = 18 }) { console.log(name, age); }
- 数组参数:function swap([a, b]) { return [b, a]; }
- 配合默认参数:function getConfig({ timeout = 5000, retries = 3 } = {}) { ... } 还能防止传入 undefined 报错










