当前位置: 首页 > 工具软件 > falsy > 使用案例 >

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

干稳
2023-12-01

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 了一个新技能点~!!

 类似资料: