javascript数组解构赋值用方括号按索引提取元素,支持跳过(逗号占位)、默认值(=指定,仅undefined触发)、剩余元素(...rest,须在末尾)和嵌套解构(层级匹配)。

JavaScript 数组解构赋值通过用方括号 [] 包裹变量名,按索引顺序从数组中提取对应位置的元素,语法简洁且可跳过、默认、嵌套或剩余。
基础用法:按位置提取元素
左边变量顺序对应数组索引,自动绑定值:
const arr = ['a', 'b', 'c']; const [x, y, z] = arr; console.log(x); // 'a' console.log(y); // 'b' console.log(z); // 'c'
- 变量个数少于数组长度,只取前几个;
- 变量个数多于数组长度,多余变量为
undefined; - 可省略某位置(留空),跳过对应元素。
跳过元素与设置默认值
用逗号占位跳过不需要的项;用 = 指定默认值应对 undefined:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
const data = [1, , 3]; // 第二项是 undefined const [a, , c, d = 10] = data; console.log(a); // 1 console.log(c); // 3 console.log(d); // 10(因为 data[3] 不存在)
- 空位(如
[a, , c])跳过索引 1 的元素; - 默认值只在对应位置值为
undefined时生效,null或0不触发。
提取剩余元素(Rest 元素)
用 ...rest 收集剩余所有项,必须放在最后:
const nums = [1, 2, 3, 4, 5]; const [first, second, ...rest] = nums; console.log(first); // 1 console.log(second); // 2 console.log(rest); // [3, 4, 5]
-
...rest必须是最后一个变量; - 若数组不够长(如只有两个元素),
rest得到空数组[]。
嵌套数组解构
可在解构模式中继续用 [] 处理子数组:
const matrix = [[1, 2], [3, 4]]; const [[a, b], [c, d]] = matrix; console.log(a, b, c, d); // 1 2 3 4
- 结构需与嵌套数组形状一致;
- 同样支持默认值、跳过和 rest —— 只要写在对应层级的方括号内。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










