javascript函数参数解构支持按属性名提取、设默认值、重命名及嵌套解构:如greet({name,age})、printinfo({title='未命名'})、loguser({id:userid})、showaddress({user:{name,address:{city='未知城市'}}})。

JavaScript 中参数解构可以直接在函数形参位置写对象结构,运行时自动从传入的对象中提取对应属性值,无需先接收整个对象再手动取值。
基础用法:按属性名提取
函数定义时,在括号内用 { prop1, prop2 } 形式声明参数,调用时传入对象,JS 会自动把对象中同名属性的值赋给对应变量:
function greet({ name, age }) {
console.log(`你好,${name},${age}岁了`);
}
greet({ name: '小明', age: 25 }); // 你好,小明,25岁了
设置默认值:避免 undefined
属性可能不存在时,可在解构中直接给默认值,防止运行时报错或逻辑异常:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
function printInfo({ title = '未命名', count = 0 }) {
console.log(`${title}: ${count}`);
}
printInfo({ title: '订单' }); // 订单: 0
printInfo({}); // 未命名: 0
重命名属性:解决变量名冲突
用 oldName: newName 语法可将对象属性重命名为局部变量名,尤其适合属性名不合法或与已有变量冲突的情况:
function logUser({ id: userId, first_name: firstName }) {
console.log(`用户ID:${userId},名:${firstName}`);
}
logUser({ id: 101, first_name: 'Alice' }); // 用户ID:101,名:Alice
嵌套解构:一层或多层对象直接取值
支持在参数中直接解构嵌套对象,甚至混合默认值和重命名:
function showAddress({
user: { name, address: { city = '未知城市', zip } = {} } = {}
}) {
console.log(`${name} 在 ${city},邮编:${zip}`);
}
showAddress({
user: {
name: '李四',
address: { city: '杭州', zip: '310000' }
}
}); // 李四 在 杭州,邮编:310000
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










