ES6新增值比較函數Object.is


在這之前我們比較值使用兩等號 “==” 或 三等號“===”, 三等號更加嚴格,只要比較兩方類型不同立即返回false。

 

另外,有且只有一個值不和自己相等,它是NaN

 

現在ES6又加了一個Object.is,讓比較運算的江湖更加混亂。多數情況下Object.is等價於“===”,如下

1 === 1 // true
Object.is(1, 1) // true

'a' === 'a' // true
Object.is('a', 'a') // true

true === true // true
Object.is(true, true) // true

null === null // true
Object.is(null, null) // true

undefined === undefined // true
Object.is(undefined, undefined) // true

 

但對於NaN、0、+0、 -0,則和 “===” 不同

NaN === NaN // false
Object.is(NaN, NaN) // true

0 === -0 // true
Object.is(0, -0) // false

-0 === +0 // true
Object.is(-0, +0) // false

 

相關:

Object.is

別了,JavaScript中的isXX系列

世界上最短的數字判斷代碼

JavaScript中奇葩的假值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM