我编写的此for-in循环为所有对象属性打印“ undefined”值:
let user = {
id: 1,
name: "Some name"
};
for (let prop in user)
console.log(prop + ": " + user.prop);
控制台输出:
id: undefined
name: undefined
答案 0 :(得分:1)
user.prop
在用户对象上期望有一个名为prop
的实际属性,如下所示:
let user = {
prop: 'not undefined'
id: 1,
name: "Some name"
};
我猜您打算使用括号表示法来访问属性吗?
let user = {
id: 1,
name: "Some name"
};
for (let prop in user)
console.log(prop + ": " + user[prop]);
答案 1 :(得分:1)
您不能使用变量以这种方式访问对象属性。它认为您正在尝试访问一个名为“ prop”的属性。使用变量按名称获取对象属性的方式如下:
let user = {
id: 1,
name: "Some name"
};
for (let prop in user)
console.log(prop + ": " + user[prop]);