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

如何检查数字的null或undefined值但正确处理0值?

解决TypeScript中数字类型变量的null/undefined判断问题

针对你给出的代码场景:

@Input() a: number;

// Check of null or undefined
if (a)
  // do stuff

常规的if(a)判断会把0也判定为false,导致合法的0值无法进入逻辑。

想要准确判断变量仅排除null和undefined,同时保留0、false等其他 falsy 值,有几种简洁的写法:

  • 最直观的精确判断:

    if (a !== null && a !== undefined) {
      // do stuff
    }
    
  • 更简洁的等价写法:

    if (a != null) {
      // do stuff
    }
    

    != null会同时匹配null和undefined,对0、空字符串、false这些值不会误判,刚好满足你的需求。

至于你问的类似a?.b的语法——可选链是用于安全访问嵌套属性的,对于简单类型的null/undefined判断,TypeScript并没有专门的单运算符,但上面的a != null已经是足够简洁的替代方案了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 22:44:54