比较运算符的使用(==)

比较运算符

比较运算符= =,<,>,<=,>=,!=,= = =,!= =

两侧都是引用类型

比较的都是对象,这比较的是引用。就是比较两者在栈中存放的地址是否指向同一个堆地址,或者说栈中的信息是否相同。

const a = []
const b = []
console.log(a == b)//false

两侧是引用类型和基本数据类型

首先将引用类型转换为基本值,调用其自身的valueOf方法。数组就是调用toString()

两侧都是基本数据类型

  1. 当数据类型一致时,相当于 === ,比较值是否相同
  2. 当类型不一致时,先转换类型再比较。转换规则:当存在一个boolean值,立即转换为数字,然后在比较。String和Number比较时,字符串转换为String
//boolean转数字时,true转为1
const a = 0
const b = true
console.log(a == b)//false
//字符串转数字
const a = '1'
const b = 1
console.log(a == b)//true

null和undefined

console.log(null == null)//true
console.log(undefined == undefined)//true
console.log(null == undefined)//true
//NaN和任何值不相等,包括其自身

总结

比较时,先看数据类型,再转换数据类型,再比较。注意存在一个boolean时直接转换为数字就是调用Number(),String和Number比较时,字符串调用Number()。再记住null和undefined的特例。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值