為什麼你應該在相等比較中使用 Object.is()

2020-09-30 17:00:09

我們都知道 JavasSript 是弱型別的,並且當我們使用 == 作比較時,在一些情況下由於型別轉換或者說「把兩個運算元中的一個轉換成另一個,然後在比較」,會出現意想不到的結果。

0 == ' ' 				//true
null == undefined 		//true
[1] == true 			//true

因此 JavaScript 中給我們提供了全等操作符 ===, 它比不全等操作符更加嚴格並且不會發生型別轉換。但是用=== 來進行比較並不是最好地解決方案。你可能會得到:

NaN</