es6对象解构赋值可按属性名提取变量,不依赖顺序,语义清晰;支持同名提取、别名(:)、默认值(=)、嵌套解构,并兼容别名与默认值。

ES6 对象解构赋值能直接按属性名提取变量,不依赖顺序,语义清晰,是处理配置、响应数据、函数参数的常用方式。
基础用法:同名变量一键提取
只要变量名与对象属性名一致,就能用花括号快速解构:
const { name, age } = { name: 'Alice', age: 25 };
等价于:
const name = user.name;
const age = user.age;
不需要写点号访问,也不用重复声明,代码更紧凑。
支持别名:变量名和属性名可以不同
当变量名冲突或想用更符合上下文的名称时,用 冒号(:) 指定别名:
用于 inference.sh 的 JavaScript/TypeScript SDK,可运行 AI 应用、构建代理、集成 150+ 模型。包名:@inferencesh/sdk(npm install),完整 TypeScript 支持。
- const { name: userName, age: userAge } = user; → userName 得到 'Alice'
- const { first: firstName, last: lastName } = { first: 'John', last: 'Doe' };
设置默认值:避免 undefined
属性不存在时,变量会是 undefined;加 = 可设默认值:
- const { city = 'Beijing', role = 'guest' } = user;
- 只对 strictly equal undefined 的情况生效(
null、0、false等都会被原样使用)
嵌套解构:一层或多层结构也能直接取
深层属性可连写路径,无需逐级访问:
const { info: { height, weight }, profile: { level } } = user;
等价于:
const height = user.info.height;
const weight = user.info.weight;
const level = user.profile.level;
同样支持别名和默认值,比如:
const { info: { height: h = 170 } } = user;










