JavaScript中比较两个值是否相等 == 和===

== 相等

如果左右两个数据类型不同,先默认转换为相同的数据类型,然后再进行比较

  • NaN == NaN //false
  • null 和 undefined的两个等号比较是相等的,三个等号比是不想等的,除此之外他们和任何值比较都不想等
null == 0;// false
undefined == 0;// false
[10] == '10';// true
{} == '{}'; // false '[object Object]' == '{}'
1 == true; // true
2 == true; // false 2 == 1
-1 == false; // false
0 == false; // true
1 == '1' // true
true == '1' // true
false == '' // true 0 == 0
[] == 0; // true
  • Symbol(1) == Symbol(1) //false
  • 对象和对象比,比较的是内存地址
  • 对象==字符串 对象转换为字符串
  • 除上述规则外,其余都是把值转化为数字类型,然后再比较

=== 绝对相等

需要保证左右两边的数据类型和值都一样才会相等

Object.is ES6新增的方法

console.log(10 == "10");//TRUE
console.log(10 === "10");//FALSE
console.log("10" == "10");//TRUE
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值