close

JavaScript的變量在比較的時候會隱式類型轉換。這就是為什麼一些諸如:false == 0 或 「」 == 0 返回的結果是true。為避免引起混亂的隱含類型轉換,在你比較值和表達式類型的時候始終使用===和!==操作符。

var zero = 0;
if (zero === false) {
// 不執行,因為zero為0, 而不是false
}

// 反面示例
if (zero == false) {
// 執行了...
}

還有另外一種思想觀點認為==就足夠了===是多餘的。
例如,當你使用typeof你就知道它會返回一個字符串,所以沒有使用嚴格相等的理由。
然而,JSLint要求嚴格相等,它使代碼看上去更有一致性,可以降低代碼閱讀時的精力消耗。
(「==是故意的還是一個疏漏?」)
arrow
arrow
    全站熱搜

    vivian 發表在 痞客邦 留言(0) 人氣()