【发布时间】:2025-12-25 10:25:16
【问题描述】:
我有一个简单的检查,我想检查给定变量是否 >=0。
public print(value: any): void {
if(value >= 0) {
console.log('Greater than zero')
}
}
这里的问题是当传入变量的值为 null 时,它将变为真值并记录该语句。有没有一种干净的方法来避免它,但不添加额外的检查?
【问题讨论】:
-
额外检查有什么问题?
if(value !== null && value >= 0) { -
Number(null)计算结果为0,因此任何巧妙的技巧都不会适用 -
如果你想让你的同事向你的方向扔文具,这里有
if(value?.valueOf() >= 0)。 -
检查一下
if (typeof value === 'number' && value >= 0)怎么样? -
只需使用
parseInt检查是否不是NaN,不要打扰
标签: javascript typescript logical-operators