javascript 中的 falsy 值有 6 个:false、0(含-0 和 0n)、''、null、undefined、nan;其余值(如'false'、'0'、{}、[]、函数、new boolean(false))均为 truthy。

JavaScript 中,以下 6 个值在布尔上下文中会被自动转为 false(即属于 falsy 值):
falsy 值有哪些
它们是:
-
false(布尔类型的 false 本身) -
0(数字零,包括-0和0n(BigInt 零)也视为 falsy) -
''(空字符串,""或``,但包含空格的字符串如" "是 truthy) nullundefinedNaN
注意几个常见误区
这些值容易被误认为是 falsy,但其实不是:
-
'false'(字符串 "false" 是 truthy) -
'0'(字符串 "0" 是 truthy) -
{}(空对象是 truthy) -
[](空数组是 truthy) -
function(){}(空函数是 truthy) -
new Boolean(false)(包装对象总是 truthy,哪怕内容是 false)
如何验证一个值是否 falsy
最直接的方法是用双重非运算符:
!value === true 表示 value 是 falsy;!!value 可显式转为布尔值。
Java JDK 25 来自 OpenJDK 官方归档,版本为 JDK 25,本条下载地址已指向官方 Windows x64 zip 安装包直链,适合调试旧项目或兼容旧版 Java 运行环境。
例如:
!!null // false!![] // true!!'0' // true!!(0n) // false(BigInt 零也是 falsy)
falsy 判断常用于条件逻辑
比如判断变量是否“有值”时常用:
if (str) { /* str 不是 falsy 才执行 */ }
但要注意:如果允许 0、'' 等作为有效输入(如用户年龄为 0、用户名为空字符串),直接用 if (value) 就会出错。此时应明确检查:value !== undefined && value !== null,或用可选链 + 空值合并等更精确的方式。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










