在相等比较中使用 Object.is()

前言

JavaScript 是弱类型的,在使用 == 作比较时,在一些情况下由于类型转换,会出现意想不到的结果。

0 == ' ' //true
null == undefined //true

JavaScript 提供了全等操作符===,它比更加严格并且不会发生类型转换,但是用 **=** 来进行比较也不是最好的解决方案,也会出现问题。

NaN === NaN // false

敲重点

Es6 中提供了新的 Object.is(x, y)方法,它具有 === 的一些特点,而且更好、更精确,一些特殊的比较中是不会出现特殊情况。

  • x: 被比较的第一个值
  • y: 被比较的第二个值
  • 返回: 一 Boolean 值,标示两个参数是否是同一个值
Object.is(0, ' ') //false
Object.is(null, undefined) //false
Object.is([1], true) //false
Object.is(NaN, NaN) //true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值