位置:首页 > JavaScript > JavaScript如何判断变量是否为undefined或null

JavaScript如何判断变量是否为undefined或null

时间:2026-08-12  |  作者:极客少年  |  阅读:0

== null可以说是最省事、也相当稳妥的空值判断方式。

原因就在于,null == undefined的结果本身就是true,而且宽松相等里也只有这两者会彼此相等。因此,它实际等同于同时判断=== null=== undefined

这样写还有个好处:不会把0false、空字符串这类本来合法的值错当成空值。

Ja vaScript 中怎么判断变量是否为 undefined 或 null

这种场景下,直接写== null就够了。

它会一次性覆盖undefinednull两种情况,表达清楚,写起来也利落。同时,也不会把0false、空字符串这类本来就合法的值错判进去。

为什么 == null 是最简可靠的写法

Ja vaScript 规定 null == undefinedtrue,且只有这两个值在抽象相等比较下互等。

  • value == null 等价于 value === null || value === undefined
  • 不会把 0''false 当作“空”误处理
  • 比手写两个严格等判断更短,比 !value 更精准

什么时候不能用 == null

当业务需要区分“未赋值”和“主动清空”时,就得分开判断。

  • 检查是否未初始化:value === undefined(或更稳妥的 typeof value === 'undefined'
  • 检查是否被设为空:value === null
  • 注意:typeof null 返回 "object",是历史 bug,不能靠它识别 null

现代开发中的安全写法

在支持可选链(.)和空值合并()的环境中,优先组合使用:

  • obj.prop 'default' —— 安全取值 + 提供默认
  • if (obj.prop != null) —— 先避免报错,再判断是否为空
  • TypeScript 编译期会提示可能为 nullundefined,减少运行时意外

千万别用 !value 替代

!value 检查的是所有 falsy 值,包括 0-0''falseNaNnullundefined

  • if (!user.age):当 age = 0 时也进分支,逻辑错误
  • if (user.age == null):只在真正缺失时成立

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多