语法看起来就在MDN之外,所以我不明白为什么这个对象的解构不起作用。变量返回undefined,为什么?
let obj={age: "3", name: "spike"};
let {a,b}=obj;//returns a and b as undefined, why?
答案 0 :(得分:2)
您需要使用name
和age
作为从对象构造的变量,如下所示:
let obj={age: "3", name: "spike"};
let {age, name}=obj;
console.log(age);
console.log(name);
或者,您可以使用以下语法为析构化变量指定新名称:
let obj={age: "3", name: "spike"};
let {age: a, name: b}=obj;
console.log(a);
console.log(b);
答案 1 :(得分:0)
您需要使用 'obj' 对象中的相同键 'age' 和 'name' 进行解构。但同时,您可以为它们分配您自己的别名,例如“a”和“b”,如下所示。
let obj={age: "3", name: "spike"};
let {age:a, name:b}=obj;
console.log(a); //prints "3"
console.log(b); //prints "spike"