You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript的if语句中检查nullish值,无需显式判断null和undefined?

检查JavaScript中的Nullish值(null/undefined)的简洁写法

当然可以,有几种精准且简洁的方式,能只判断变量是否为null或undefined,不会误判0、空字符串、空数组这类假值:

1. 使用== null判断

这是最常用的简洁写法,JavaScript中null == undefined会返回true,但它不会匹配其他假值。示例代码:

if (key == null) {
    // 仅当key是null或undefined时执行此处逻辑
}

原理:==的类型转换规则里,null和undefined是仅有的互相相等、且不与其他任何值相等的两个值,因此这个判断刚好精准命中目标场景。

2. 使用typeof判断(适配变量未声明场景)

如果变量可能未被声明(直接访问会抛出引用错误),可以用typeof做前置检查:

if (typeof key === 'undefined' || key === null) {
    // 执行逻辑
}

这种写法比== null繁琐,一般只在变量可能未定义的场景下使用,比如全局变量的存在性检查。

3. 空值合并运算符??(ES2020+,适配赋值场景)

如果是要给变量赋默认值的场景,??运算符会更贴合需求——它仅在左侧为null或undefined时,才返回右侧的默认值:

const targetValue = key ?? '默认内容';
// 等价于:const targetValue = (key === null || key === undefined) ? '默认内容' : key;

注意:不要用== undefined,虽然效果和== null一致,但== null在社区中更常用、更直观。

内容的提问来源于stack exchange,提问作者user2138149

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 07:20:36