javascript解构赋值可从数组或对象按位置或属性名提取值并赋给变量,支持跳过、默认值、剩余元素收集、重命名及嵌套解构,亦可用于函数参数,需配合let/const声明,右侧为null/undefined时需兜底。

JavaScript 中解构赋值能让你从数组或对象中“提取”值,并直接赋给变量,省去逐个取值、赋值的步骤,写法简洁又可读性强。
从数组中解构:按位置取值
数组解构依据元素索引顺序匹配变量名,支持跳过、默认值和剩余元素收集:
- 基础用法:const [a, b, c] = [1, 2, 3]; → a=1, b=2, c=3
- 跳过某项:const [x, , z] = [10, 20, 30]; → x=10, z=30(忽略中间值)
- 设置默认值:const [name = '匿名', age = 18] = ['小明']; → name='小明', age=18
- 获取剩余元素:const [first, ...rest] = [1, 2, 3, 4]; → first=1, rest=[2,3,4]
从对象中解构:按属性名取值
对象解构依据属性名匹配,变量名默认需与属性名一致;也可重命名、设默认值:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 基本形式:const { name, age } = { name: '张三', age: 25 }; → name='张三', age=25
- 重命名变量:const { name: fullName, age: userAge } = { name: '李四', age: 30 }; → fullName='李四', userAge=30
- 带默认值:const { city = '北京', job } = { job: '前端' }; → city='北京', job='前端'
- 嵌套解构:const { user: { id, profile: { nick } } } = { user: { id: 101, profile: { nick: '阿七' } } }; → id=101, nick='阿七'
在函数参数中直接解构
函数形参支持解构,让调用更清晰,尤其适合处理配置对象或返回多值的函数:
- 对象参数解构:function greet({ name = '朋友', level = '普通' }) { return `你好,${level} ${name}!`; }
调用:greet({ name: '王五', level: 'VIP' }); → "你好,VIP 王五!" - 数组参数解构(较少见但合法):function sum([a, b]) { return a + b; }
调用:sum([3, 5]); → 8
配合 let/const 和解构实现“声明即初始化”
解构必须配合 let 或 const(不能用 var 单独解构声明),天然满足“声明同时初始化”,避免 undefined:
- ✅ 正确:const [x, y] = getPoint(); // 假设 getPoint 返回 [10, 20]
- ❌ 错误:[x, y] = getPoint(); // ReferenceError:x 未声明
- ⚠️ 注意:解构时若右侧为 null/undefined,会报错;可用逻辑运算符兜底:const { data = [] } = response || {};
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










