You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript对象解构赋值返回undefined问题咨询

JavaScript解构赋值返回undefined的问题解决

你的代码里解构赋值的变量名x、y、z和目标对象myObj的属性名name、age、Roll完全不匹配,JavaScript解构赋值默认是根据属性名匹配来提取值的,找不到对应属性名的变量就会被赋值为undefined。

解决方法1:使用对象原有属性名作为变量名

直接用对象的属性名来解构,就能正确获取对应值:

const myObj = {
    name: "Rahul",
    age: 34,
    Roll: 23
}

const {name, age, Roll} = myObj;
console.log(name); // 输出 "Rahul"
console.log(age); // 输出 34
console.log(Roll); // 输出 23

解决方法2:给属性设置别名(映射到自定义变量名)

如果想把属性值赋值给x、y、z这类自定义变量名,可以使用别名语法:

const myObj = {
    name: "Rahul",
    age: 34,
    Roll: 23
}

const {name: x, age: y, Roll: z} = myObj;
console.log(x); // 输出 "Rahul"
console.log(y); // 输出 34
console.log(z); // 输出 23

内容的提问来源于stack exchange,提问作者usaka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 09:35:16