对象标识和相等判断

对象标识和相等判断

判断 对象是否的相等的方法,对于不同的情况,需要用到不同的方法,比较常用的有 三等号 “===”, isNaN(number)函数, Object.is(obj1, obj2)方法

三等号 ===

  1. 对象实例相等判断
 function Person(name){
      this.name = name;
 }
const p1 = new Person('小明');
const p2 = new Person("小明");
console.log(p1 === p2); // false
  1. ​ === 与 == 双等号的区别是:三等号不会自动类型转换
  console.log(1 === true); // false
  console.log(2 === '2'); // false
  1. 但是 === 也有失效的时候
console.log(0 === -0); // true
console.log(+0 === 0); // true
console.log(-0 === +0); // true
console.log(NaN === NaN); // false

isNaN

实际应用: + - * / 与字符运算时可能会自动类型转换出错,这是就会出现 NaN 此时需要做出逻辑处理

console.log(isNaN(NaN)); // true 判断是否是NaN用到
console.log(isNaN( 0 + ("12px"))); // false

Object.is()

Object.is() 功能强大,可以解决上面遇到的困难

console.log(Object.is(p1,p2)); // false
console.log(Object.is('1',1)); // false
console.log(Object.is(0, -0)); // false
console.log(Object.is(NaN,NaN)); // true 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值