我讀一本書,說,雖然這是可以測試一個變量是否被定義的,做一個值:在JavaScript中測試null和undefined的較短方式?
if(myVar != null && myVar != undefined) {
...
}
這被認爲是「風格差」,而且因爲這兩個null
和undefined
是falsey值,我們可以更容易地檢查一個變量通過使用更簡潔if
結構
if(myVar) {
...
}
值,但這個讓我困惑,因爲雖然它’真的,null
和undefined
是錯誤的值,它們不是只有 falsey值。換句話說,在我看來,前面的if
聲明說,「只要變量不是空的或未定義的,就運行代碼,而後者if
聲明說:」只要變量isn,就運行代碼「 :T falsey」假如myVar == 0
,那麼前者if
語句將運行,但後者if
聲明不會因此這兩個if
語句是不等價的我錯了
**是**兩者不是彼此的複製品。這是你想要的嗎? – Manwal
你是對的,這是一個選擇的問題。編寫代碼時,請考慮最常見的用例。 – user2182349
沒有其他方法可以確定該變量是否爲空或未定義。當然,你們展示的兩個片段並不相同。 如果你的'myvar'變量是一個數字,那麼你可以使用'isNaN'函數。 – molecule