對比兩個值是否相等咱們能夠使用==,或者判斷絕對相等使用===。它們都有缺點,前者會自動轉換數據類型,後者的NaN不等於自身以及正0等於負0
+0 == -0 //true
+0 === -0 //true
不過這兩個東西是不同的
再好比:
NaN == NaN //false
不過他們是一個東西
遇到這種狀況,能夠使用Object.is()方法,兩個參數就是要對比的東西,好比:
Object.is(NaN,NaN) //true
Object.is(+0,-0) //false
大部分狀況下,仍是能夠使用==或者===去判斷兩個值是不是相等的