ES6基础之——对比两个值是否相等Object.is()

对比两个值是否相等我们可以使用==,或者判断绝对相等使用===。它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身以及正0等于负0
+0 == -0 //true
+0 === -0 //true
不过这两个东西是不一样的

再比如:
NaN == NaN //false
不过他们是一个东西

遇到这种情况,可以使用Object.is()方法,两个参数就是要对比的东西,比如:
Object.is(NaN,NaN) //true
Object.is(+0,-0) //false

大部分情况下,还是可以使用==或者===去判断两个值是否是相等的
posted @ 2019-06-25 08:47  qnlz  阅读(3847)  评论(0编辑  收藏  举报