Javascript对象属性:字符串还是整数?

Javascript object property: string or int?

假设我有以下对象:

var obj {
    name: "Jack", 
    id: 4, 
    year: "2004"
}

我想遍历属性并打印出 属性 类型:

for (var i in obj) {
    console.log(i + ' (' + (typeof i) + ') ' + obj[i];
}

问题是每种类型都显示为 string:

name: (string) Jack

id: (string) 4

year: (string) 2004

如何将 "Jack""2004" 的类型输出为 string4 作为 integer/numeric 或其他类型?

您正在输出键的类型,而不是值。应该是:

for (var prop in obj) {
    console.log(prop + ' (' + (typeof obj[prop]) + ') ' + obj[prop])
}                                     ^^^^^^^^^

那会输出:

name (string) Jack
id (number) 4
year (string) 2004