javascript数组解构本质是按索引顺序批量提取元素赋值:支持基础解构、逗号跳过、剩余参数(...rest)、默认值(=)及不修改原数组特性。

JavaScript 中数组变量的批量解构,本质是用方括号语法从数组中按索引顺序提取多个元素,并一次性赋值给多个变量。
基础批量解构:按位置取值
最常用的方式是用 [] 包裹一组变量名,对应数组中相同位置的元素:
const arr = ['a', 'b', 'c', 'd']; const [x, y, z] = arr; // x='a', y='b', z='c'
解构时不需要取完所有元素,超出数组长度的部分会得到 undefined;未使用的元素会被跳过。
跳过中间元素或只取特定位置
用逗号占位可跳过不需要的元素:
const [first, , third] = ['x', 'y', 'z']; // first='x', third='z'const [, , , last] = ['a', 'b', 'c', 'd']; // last='d'
剩余元素收集(Rest Pattern)
用 ...rest 捕获剩余所有项(必须放在最后):
const [a, b, ...rest] = [1, 2, 3, 4, 5]; // a=1, b=2, rest=[3,4,5]const [...all] = [10, 20]; // all=[10, 20],等价于浅拷贝
结合默认值处理空缺
为防止 undefined,可在解构时指定默认值:
const [x = 'default', y = 0] = ['hello']; // x='hello', y=0const [a, b = 99] = [1]; // a=1, b=99const [,, c = 'missing'] = ['p', 'q']; // c='missing'
不复杂但容易忽略:解构本身不改变原数组,且只适用于可遍历的类数组结构(如 Array、arguments、NodeList 等,需确保有 Symbol.iterator 方法)。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











