雖然很清楚如何使用===
運算符來處理數字是有用的(0
,null
和undefined
都是虛假值,這可能會導致混淆),我不確定是否有利於使用===
進行字符串比較。在JavaScript中使用===進行字符串比較是否合理?
我的一些隊友使用這個算子進行所有的比較,但它真的有意義嗎?是否至少有一些次要的性能影響?
雖然很清楚如何使用===
運算符來處理數字是有用的(0
,null
和undefined
都是虛假值,這可能會導致混淆),我不確定是否有利於使用===
進行字符串比較。在JavaScript中使用===進行字符串比較是否合理?
我的一些隊友使用這個算子進行所有的比較,但它真的有意義嗎?是否至少有一些次要的性能影響?
如果您知道類型相同,那麼==
和===
之間的算法沒有區別。
也就是說,當我看到==
時,我假設我將它用於它的類型強制,這使我停止並分析代碼。
當我看到===
我知道沒有強制意圖,所以我不需要再考慮。
換句話說,我只使用==
如果我想打算因爲有某種類型的強制。
在JavaScript中總是使用===
進行比較被認爲是很好的做法。由於JavaScript是一種動態語言,因此您認爲兩個字符串可能是不同類型的變量。
考慮以下幾點:
var a = "2", b = 2;
a == b // true
a === b // false
只有這樣,才能保證false
結果在這種情況下會比較兩個值時使用===
。
只是作爲性能的補充 - http://jsperf.com/xgghyt – 2012-07-27 13:50:24