Falsy
falsy 值 (虚值) 是在 Boolean 上下文中认定为 false 的值。
在 JavaScript 中只有 8 个 falsy 值。
这意味着当 JavaScript 期望一个布尔值,并被给与下面值中的一个时,它总是会被当做 false。
| false | false 关键字 |
|---|---|
| 0 | 数值 zero |
| -0 | 数值 负 zero |
| 0n | 当 BigInt 作为布尔值使用时, 遵从其作为数值的规则. 0n 是 falsy 值. |
| “”, ‘’, `` | 这是一个空字符串 (字符串的长度为零). JavaScript 中的字符串可用双引号 “”, 单引号 ‘’, 或 模板字面量 `` 定义 |
| null | null - 缺少值 |
| undefined | undefined - 原始值 |
| NaN | NaN - 非数值 |
Truthy
在 JavaScript 中,truthy(真值)指的是在布尔值上下文中,转换后的值为真的值。所有值都是真值,除非它们被定义为 假值(即除 false、0、""、null、undefined 和 NaN 以外皆为真值)。
JavaScript 在布尔值上下文中使用强制类型转换(coercion)。
JavaScript 中的真值示例如下(将被转换为 true,if 后的代码段将被执行):
```javascript
if (true)
if ({})
if ([])
if (42)
if ("foo")
if (new Date())
if (-42)
if (3.14)
if (-3.14)
if (Infinity)
if (-Infinity)

本文详细介绍了JavaScript中的真假值(falsy和truthy值),包括哪些值被认为是假值(falsy)以及哪些值被认为是真值(truthy)。对于理解JavaScript中布尔上下文如何处理不同类型的值非常有用。
524

被折叠的 条评论
为什么被折叠?



