解构赋值是JavaScript中从数组或对象提取值并赋给变量的简洁语法,支持按位置(数组)或属性名(对象)匹配、跳过元素、剩余参数、默认值、重命名、嵌套解构,并可用于函数参数,但需注意语法限制和null/undefined报错问题。

解构赋值是 JavaScript 中一种从数组或对象中提取值并赋给变量的简洁语法,它让取数据变得更直观、更少冗余,不用再写一堆 arr[0] 或 obj.name。
数组解构:按位置快速取值
传统方式要一个个索引取值,解构则用类似数组的结构来“匹配”并赋值:
-
基本用法:
const [a, b, c] = [1, 2, 3];→a = 1,b = 2,c = 3 -
跳过元素:
const [first, , third] = ['a', 'b', 'c'];→first = 'a',third = 'c' -
剩余元素:
const [x, ...rest] = [10, 20, 30, 40];→x = 10,rest = [20, 30, 40] -
默认值:
const [name = '匿名'] = [];→name会取默认值'匿名'
对象解构:按属性名精准提取
不再需要反复写 obj.prop,直接用属性名声明变量:
-
基础提取:
const { name, age } = { name: '小明', age: 25 };→ 变量name和age自动获得对应值 -
重命名变量:
const { title: bookName } = { title: 'JS入门' };→ 把title的值赋给bookName -
嵌套解构:
const { user: { id, profile: { city } } } = { user: { id: 123, profile: { city: '杭州' } } };→ 直接拿到id和city -
设置默认值:
const { role = 'user' } = {};→ 对象没role时自动用默认值
解构在函数参数中的实用场景
函数接收配置对象时,解构能让签名更清晰、调用更灵活:
标签: javascript java js
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~