您现在的位置:首页 >> 前端 >> 内容

ES6中的Object.is()判断对象是否相等

时间:2017/2/8 11:12:00 点击:

  核心提示:在JS中,常常需要判断两个对象是否相等,常见的方法有==,===,!=,!==ES6中,新增了一个方法Object.is(a, b),用于判断两个值是否相等,但是在某些情况下会和上述的判断符有些差异O...

在JS中,常常需要判断两个对象是否相等,常见的方法有==,===,!=,!==

ES6中,新增了一个方法Object.is(a, b),用于判断两个值是否相等,但是在某些情况下会和上述的判断符有些差异

Object.is('foo', 'foo') //true

Object.is(window, window) //true

Object.is([], []) //false

Object.is(null, null) //true

区别:

简单的说,两等号判等会在比较时自动进行类型转换,而三等号不会,如果类型不同,会直接返回false,而bject.is()则是在三等号的基础上,又特别处理了NaN、-0、+0,保证了-0和+0不再相同,但是要注意的是Object.is(NaN, aN)会返回true

ES6中的Object.is()判断对象是否相等

 

Tags:ES S6 6中 中的 
作者:网络 来源:kongjuncha