解构赋值是JavaScript中从数组或对象提取值并赋给变量的简洁语法。支持对象解构(含重命名、默认值)、数组解构(含跳过、剩余元素)、嵌套结构解构及函数参数解构,提升代码可读性与简洁性。

解构赋值是 JavaScript 中一种简洁、直观地从数组或对象中提取值并赋给变量的语法。它让你不用写一堆点号或下标,就能“一键拆开”数据结构,拿到想要的部分。
对象解构:按属性名直接取值
当处理配置项、API 返回的对象时特别高效。只要属性名匹配,就能自动提取:
- const { name, age } = { name: '小明', age: 25 }; → name 得到 '小明',age 得到 25
- 可以重命名:const { name: nickname } = { name: '小明' }; → 变量叫 nickname,值仍是 '小明'
- 可设默认值:const { city = '北京' } = {}; → city 是 '北京'(原对象没这个属性也不报错)
数组解构:按位置顺序拿元素
适合处理函数返回多个值、列表项、分割结果等场景:
- const [first, second] = ['苹果', '香蕉', '橙子']; → first 是 '苹果',second 是 '香蕉'
- 跳过中间项:const [a, , c] = [1, 2, 3]; → a = 1,c = 3
- 剩余元素用扩展运算符:const [head, ...tail] = [10, 20, 30, 40]; → head = 10,tail = [20, 30, 40]
嵌套结构也能一层解构到底
深层对象或混合结构不用层层点下去,直接在模式里写路径:
立即学习“Java免费学习笔记(深入)”;
- const { user: { profile: { nick } } } = { user: { profile: { nick: '阿哲' } } }; → 直接得到 nick = '阿哲'
- 数组里嵌对象也行:const [{ id, title }] = [{ id: 1, title: '标题1' }]; → 提取第一个数组项的属性
函数参数也能解构,让调用更干净
避免在函数体内手动取值,接口更清晰:
- function show({ name, age = 18 }) { console.log(`${name}今年${age}岁`); }
- 调用时传对象就行:show({ name: '莉莉', age: 22 }); → 输出 '莉莉今年22岁'
- 甚至支持默认参数对象:function init({ url = '/api', method = 'GET' } = {}) { ... }
基本上就这些。解构不是炫技,而是减少样板代码、提升可读性的小而实用的工具。用熟了,写 JS 就像在“指哪打哪”。











