JavaScript解构赋值是从数组或对象提取值的简洁语法:对象解构用{}匹配属性名,支持嵌套、重命名(属性名:新变量名)、默认值(=设置,undefined触发)、跳过无关属性及剩余属性(...rest)。

JavaScript 的解构赋值是一种简洁语法,允许你从数组或对象中“提取”值并赋给变量,无需逐个访问属性或索引。
从对象中提取属性值
直接用大括号 {} 包裹要提取的属性名,等号右边是源对象。变量名必须和属性名一致,才能自动匹配赋值。
- let { name, age } = { name: "Alice", age: 30 }; → name 得到 "Alice",age 得到 30
- 如果属性不存在,对应变量值为 undefined
- 支持嵌套解构:let { user: { id, role } } = { user: { id: 101, role: "admin" } };
重命名变量名
当变量名和属性名不同时,用 属性名: 新变量名 的写法。
- let { title: bookName, author: writer } = { title: "JS Guide", author: "John" };
- 此时 bookName 是 "JS Guide",writer 是 "John"
设置默认值
用 = 给解构变量指定默认值,当属性不存在或值为 undefined 时生效(null 不触发默认值)。
立即学习“Java免费学习笔记(深入)”;
- let { city = "Beijing", country = "China" } = { city: "Shanghai" }; → city 是 "Shanghai",country 是 "China"
- 可与重命名结合:let { price: cost = 99 } = {}; → cost 为 99
解构时跳过不需要的属性
只列出关心的属性名即可,其余属性被忽略,不需额外操作。
- let { a, c } = { a: 1, b: 2, c: 3, d: 4 }; → 只取 a 和 c,b 和 d 被自然跳过
- 也可配合剩余属性:let { a, ...rest } = { a: 1, b: 2, c: 3 }; → rest 是 { b: 2, c: 3 }











