簡體   English   中英

JavaScript typeof應該是數字,但返回字符串

[英]JavaScript typeof should be number but returns string

我的問題是我只想打印對象的屬性,即字符串。 但是當我檢查屬性的類型時,它還會返回一個數字的字符串。

這是我的代碼:

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 ..使用for var .. in ..您正在遍歷 因此,它有效地做到了:

console.log(typeof 'english');
console.log(typeof 'french');
console.log(typeof 'notALanguage');
console.log(typeof 'spanish');

typeof的輸出始終是一個字符串,由參數的類型確定。

例如:

typeof 4 // # => "number"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM