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
相关产品推荐
相关产品推荐

