JavaScript 中的所有假值
在 JavaScript 中计算表达式时,某些值被视为“假”。当在 if(value)、value ? 等上下文中使用时,这些值会导致布尔值计算为 false。和 !value。
JavaScript 中的 Falsey 值:
- false: false 的文字布尔值。
- 0 和 -0:代表零的数字,包括十六进制 0x0.
- 0n 和0x0n:BigInt 类型的零。
- ''、"" 和 ``:长度为 0 的字符串。
- null:用于表示空值或未知值的特殊值。
- 未定义:表示未初始化或不存在的值的特殊值。
- NaN:非数字,表示无效的数值。
特殊情况:document.all(仅限 HTML 浏览器)
- 此对象存在于IE11 之前的 IE 现在已经标准化,并且在技术上是错误的。然而,它在早期版本的 IE 中用于检测浏览器的存在。
ToBoolean 函数和真值
值的“假”本质由 JavaScript 的内部 ToBoolean 函数确定。此函数根据以下规则将值转换为布尔值:
- 未定义: false
- Null: false
- Boolean: 值本身
- Number:如果为 0、-0 或 NaN,则为 false; true 否则
- 字符串:如果为空则为 false;否则为 true
- BigInt:如果 0n,则为 false;否则为 true
- 符号:true
- 对象:true
理解 false 值对于在 JavaScript 中编写健壮且高效的代码至关重要,因为这些值会影响流程执行和逻辑表达式的评估。
以上是JavaScript 中所有的 Falsey 值是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!