值比较(==与===)

规则

  • === 表示严格相同–> 数据类型 与 值 都相等时才为true,否则为false;
  • == 表示相同–>先检查两个操作数数据类型,如果相同, 则进行比较; 如果不同, 则愿意为你进行一次类型转换, 转换成相同类型后再进行比较;
    • null与undefined:值 null 和 undefined 相等,在检查相等性时,不能把 null 和 undefined 转换成其他值;
      • undefiend与null进行比较时为true,其余均为false;
      • null在与undefined进行比较时为true,其余均为false;
    • boolean值:如果有一个运算数是boolean值,在进行值比较时,会将boolean值转化为 数字进行再进行比较;
      • ture:1;
      • false:0;
      • true == '1' // true
        true == 'a' // false
        
    • 字符串:当数组和对象再与字符串进行比较时–>会将数组和对象转化为字符串再进行比较;
      • [11] == '11' // true
        
    • 数字:当数组和对象再与数字进行比较时–>会将数组和对象转化为数字再进行比较;
    • 对象:比较引用值是否相等;
    • NaN:与任何值都不相等(包含本身)
比较(==)举例
let a = 'aaa'
let b = String('aaa')
let c = new String('aaa')
let d = new String('aaa')
console.log('结果',a==b,a==c, b==c, c==d) // true true true false
  • a与b:数据类型相同–直接比较;值相同–true;
  • a与c:数据类型不同,会将c转化为字符串类型再进行比较;值相同–true;
  • b与c:数据类型不同,会将c转化为字符串类型再进行比较;值相同–true;
  • c与d:数据类型相同–直接比较;值不同(复杂数据类型,栈中为堆中数据的地址)–false
比较(===)举例
let a = 'aaa'
let b = String('aaa')
let c = new String('aaa')
let d = new String('aaa')
console.log('结果',a===b,a===c, b===c, c===d) // true false false false
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值