2012-07-27 43 views
4

雖然很清楚如何使用===運算符來處理數字是有用的(0,nullundefined都是虛假值,這可能會導致混淆),我不確定是否有利於使用===進行字符串比較。在JavaScript中使用===進行字符串比較是否合理?

我的一些隊友使用這個算子進行所有的比較,但它真的有意義嗎?是否至少有一些次要的性能影響?

回答

9

如果您知道類型相同,那麼=====之間的算法沒有區別。

也就是說,當我看到==時,我假設我將它用於它的類型強制,這使我停止並分析代碼。

當我看到===我知道沒有強制意圖,所以我不需要再考慮。

換句話說,我只使用==如果我想打算因爲有某種類型的強制。

+1

只是作爲性能的補充 - http://jsperf.com/xgghyt – 2012-07-27 13:50:24

-2

在JavaScript中總是使用===進行比較被認爲是很好的做法。由於JavaScript是一種動態語言,因此您認爲兩個字符串可能是不同類型的變量。

考慮以下幾點:

var a = "2", b = 2; 
a == b // true 
a === b // false 

只有這樣,才能保證false結果在這種情況下會比較兩個值時使用===