==、===和object.is()的对比

  1. “==”相等运算符,等号数据类型不同时,会自动转换数据类型,再进行比较
  2. “===”严格相等运算符,先比较数据类型是否一致,然后再比较值,认为NaN不等于自身,+0等于-0
  3. object.is()(es6对象新增方法),用来比较两个值是否严格相等,大体和“===”类似
    不同之处为:
+0 === -0 //true
NaN === NaN // false

Object.is(+0, -0) // false
Object.is(NaN, NaN) // true

猜你喜欢

转载自blog.csdn.net/weixin_42113124/article/details/88783270