浅析Javascript ES6新增值比较函数Object.is

在Object.is出现之前我们比较值使用两等号 “==” 或 三等号“===”, 三等号更加严格,只要比较两方类型不同立即返回false。

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

现在ES6又加了一个Object.is,让比较运算的江湖更加混乱。

多数情况下Object.is等价于“===”,如下

rush:js;"> 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,则和 “===” 不同

rush:js;"> NaN === NaN // false Object.is(NaN,NaN) // true

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

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

以上就是关于Javascript ES6新增值比较函数Object.is的全部内容,希望对大家的学习工作能有所帮助。

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...