我正在尝试从一个非常基本的对象开始学习javascript对象,但我无法使其正常工作。谁能告诉我为什么最后一个console.log()返回“ undefined”而不是“ Bill”?
const firstObject = {
name: "Bill",
profession: "Fireman",
age: 30,
getInfo: function (theInfo) {
console.log(theInfo);
console.log(this.name);
console.log(this.theInfo);
},
};
firstObject.getInfo("name");
答案 0 :(得分:2)
当键为[]
时,使用string
访问对象的属性。参见 Bracket Notation
const firstObject = {
name: "Bill",
profession: "Fireman",
age: 30,
getInfo: function (theInfo) {
console.log(theInfo);
console.log(this.name);
console.log(this[theInfo]);
},
};
firstObject.getInfo("name");
答案 1 :(得分:1)
由于console.log
不是属性,您的最后一个theInfo
正在记录未在对象上定义的属性。
如果要使用变量访问属性,则必须使用方括号表示法,而不是点表示法:
const firstObject = {
name: "Bill",
profession: "Fireman",
age: 30,
getInfo: function (theInfo) {
console.log(theInfo);
console.log(this.name);
console.log(this[theInfo]);
},
};
firstObject.getInfo("name");