Truthy、Falsy

Truthy、Falsy

Truthy、Falsy


Falsy

falsy 值 (虚值) 是在 Boolean 上下文中认定为 false 的值。
其实可以认定为 Truthy是对的 Falsy是错误的
JavaScript 在需要用到布尔类型值的上下文中使用强制类型转换(Type Conversion )将值转换为布尔值,例如条件语句和循环语句。
在 JavaScript 中只有 8 个 falsy 值。
这意味着当 JavaScript 期望一个布尔值,并被给与下面值中的一个时,它总是会被当做 false。
false
false 关键字

0
数值 zero

-0
数值 负 zero

0n
当 BigInt 作为布尔值使用时, 遵从其作为数值的规则. 0n 是 falsy 值.

"", '', ``
这是一个空字符串 (字符串的长度为零). JavaScript 中的字符串可用双引号 "", 单引号 '', 或 模板字面量 `` 定义。

null - 缺少值

undefined - 原始值

NaN - 非数值

与falsy值之间比较
关于falsy值之间的比较,分为以下几种情况
1.false、0、空串三者是可以互等的
var c = (false == 0); // true var d = (false == ""); // true var e = (0 == ""); // true
2.null和undefined可以互等,但是不与其他几种相等
var f = (null == false); // false var g = (null == null); // true var h = (undefined == undefined); // true var i = (undefined == null); // true
3.NaN,不与其他任何值相等,甚至与自己都不等(//六亲不认,失去自我)