javascript数组解构赋值可按位置提取元素并设默认值,仅当对应值为undefined时生效;支持跳过元素、剩余参数及函数参数解构,空字符串、null、0、false不触发默认值。

JavaScript 数组解构赋值可以一行代码提取指定位置的元素,同时为缺失项设置默认值,无需手动判断 undefined。
基础语法:按位置提取 + 默认值
解构时在等号右侧用方括号写变量名,对应数组索引;在变量后加 = 和默认值即可。如果对应位置值为 undefined(包括空位或越界),就启用默认值。
- let [a = 0, b = 1] = [5]; // a=5, b=1(索引1不存在,取默认)
- let [x, y = 'missing'] = ['hello']; // x='hello', y='missing'
- let [first, , third = 'default'] = ['a', 'b', undefined]; // first='a', third='default'
跳过中间元素 & 提取末尾元素
用逗号占位可跳过不需要的项;配合剩余参数 ... 可捕获剩余所有元素,它也支持默认值(需是数组类型)。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- let [,, last] = ['x', 'y', 'z']; // last='z'
- let [head, ...rest = []] = ['a']; // head='a', rest=[]
- let [a, b, ...others = ['x', 'y']] = [1]; // a=1, b=undefined → b取默认?不生效;others=['x','y'](因为剩余参数本身为空数组,才用默认)
结合函数参数快速处理传入数组
函数形参直接解构,让调用更简洁,且默认值逻辑同样适用。
- function printFirstTwo([a = 'no1', b = 'no2'] = []) { console.log(a, b); }
- printFirstTwo(['hi']); // 'hi' 'no2'
- printFirstTwo(); // 'no1' 'no2'(注意:必须给整个参数设默认 [],否则传 undefined 会报错)
注意默认值的触发时机
默认值只在对应位置严格等于 undefined 时生效。空字符串、null、0、false 都不会触发,默认值被忽略。
- let [x = 'default'] = [null]; // x = null(不是 undefined)
- let [y = 'default'] = [undefined]; // y = 'default'
- let [z = 'default'] = []; // z = 'default'(空数组 → 索引0为 undefined)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










