首頁  >  文章  >  web前端  >  ECMAScript6新增值比較函數Object.is_javascript技巧

ECMAScript6新增值比較函數Object.is_javascript技巧

WBOY
WBOY原創
2016-05-16 15:55:341304瀏覽

在這之前我們比較值使用兩等號 “==” 或 三等號“===”, 三等號更加嚴格,只要比較兩方類型不同立即返回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

以上所述就是本文的全部內容了,希望大家能夠喜歡。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn