JavaScript typeof 应该是数字但返回字符串

标签 javascript typeof

我的问题是我只想打印对象的字符串属性。但是当我检查属性的类型时,它也返回数字的字符串..

这是我的代码:

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 将是属性 name 的字符串表示形式。

您想要测试typeof languages[prop]

关于JavaScript typeof 应该是数字但返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21182860/

相关文章:

c# - C# 类型的反射 : GetType( "myType" ) vs typeof( myType ) behavior differs. 为什么?

javascript - 如何在 javascript/jQuery 中获取父对象属性

javascript - 切换 dd 的问题

php - 如何使用 Javascript 或 PHP 将 Web 表单导出为 PDF

javascript - 在 jQuery 中重置 DIV

C++ 在编译时获取对象类型,例如 numeric_limits<typeof<a>>::max()?

javascript - Mozilla 开发者页面 - 但永远不要使用这种形式

javascript - 即使分配了数字,typeof 名称也会返回字符串

javascript - JavaScript 中如何检查对象键是否存在?

javascript - 关于typeof的困惑