首页 > 网站 > WEB开发 > 正文

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

2024-04-27 15:09:58
字体:
来源:转载
供稿:网友

在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,而Object.is()则是在三等号的基础上,又特别处理了NaN、-0、+0,保证了-0和+0不再相同,但是要注意的是Object.is(NaN, NaN)会返回true

参考链接:

https://developer.mozilla.org/en-US/docs/Web/javaScript/Reference/Global_Objects/Object/is


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表