如何检查数字的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
相关产品推荐
相关产品推荐

