JavaScript 练手小技巧:JavaScript 的 Falsy 数据让人迷糊的一个点“==”

falsy 数据,就是 JavaScript 中转为 Boolean 值 为 false 的数据。

在 JavaScript 中,这样的数据一共有 8 个:

false 布尔值 false
0数值 0 
-0数值 负 0 
0n当 bigInt 作为布尔值使用时, 遵从其作为数值的规则. 0n 是 falsy 值.
"", '', ``

这是一个空字符串 (字符串的长度为零). JavaScript 中的字符串可用双引号 "", 单引号 '', 或 反引号 ``

null空值
undefined变量的默认值
NaN非数值

 尽管他们都属于 falsy 值,转为布尔值都是false。但是它们之间 ==  的话,并不全部为 true。

这个简直颠覆了我以往的理解,以前我记得 == 的话 是为 true 的,只有 === 才为false,难道我记忆偏差了?

首先,NaN 和任何数都不相等,包括它自己

NaN == NaN   //  false

它们之间 == 比较,为true  的就 三个。 

    console.info( 0 == false );         // true
    console.info( undefined == null );   // true
    console.info( 0n == 0 );              // true

   // 以下都为 false
    console.info( undefined == 0 );
    console.info( null == "" );
    console.info( 0 == null );
    console.info( false == null );
    console.info( false == undefined );
    console.info( 0n == undefined );

记录一下~ 又 Get 了一个新技能点~!!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值