我的问题是我只想打印出我的对象的字符串属性。 但是当我检查属性的类型时,它也返回一个数字的字符串。
这是我的代码:
var languages = {
english: "Hello!",
french: "Bonjour!",
notALanguage: 4,
spanish: "Hola!"
};
for(var prop in languages){
console.log(typeof prop);
}
输出为:
string
string
string
string
我确定这只是一个容易解决的问题,但我不明白为什么typeof
返回属性notALanguage
的字符串......
prop
将是属性名称的字符串表示形式。
你想测试typeof languages[prop]
当你使用for var .. in ..
时,你正在迭代键。因此,它有效地执行以下操作:
console.log(typeof 'english');
console.log(typeof 'french');
console.log(typeof 'notALanguage');
console.log(typeof 'spanish');