首页 > 代码库 > ES6 - Object.is()
ES6 - Object.is()
Object.is()
会在下面这些情况下认为两个值是相同的:
- 两个值都是
undefined
- 两个值都是
null
- 两个值都是
true
或者都是false
- 两个值是由相同个数的字符按照相同的顺序组成的字符串
- 两个值指向同一个对象
- 两个值都是数字并且
- 都是正零
+0
- 都是负零
-0
- 都是
NaN
- 都是除零和
NaN
外的其它同一个数字这种相等性判断逻辑和传统的
==
运算符所用的不同,==
运算符会对它两边的操作数做隐式的类型转换(如果它们是不同类型的值的话),然后才进行相等性比较,(所以才会有类似"" == false
为true
的现象),但Object.is
不会做这种类型转换。当然,严格相等运算符
===
也不会对操作数进行类型转换,但是它会把-0
和+0 这两个数值视为相同的,
还会把两个NaN
看成是不相等的。
- 都是正零
ES6 - Object.is()
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。