我有一个变量a;
它的值可以是 NaN、null 和任何 +ve/-ve 数字,包括 0。
我需要一个条件来过滤掉 a 的所有值,这样只有 >=0 值在 if 条件下产生 true。
实现此目标的最佳方法是什么,我不希望使用 ||
加入 3 个不同的条件
最佳答案
typeof x == "number" && x >= 0
工作原理如下:
null
--typeof null == "object"
所以表达式的第一部分返回 falseNaN
--typeof NaN == "number"
但NaN
不大于、小于或等于包括自身在内的任何数字,因此表达式的第二部分返回 falsenumber
-- 大于或等于零的任何其他number
表达式返回 true
关于javascript - 在一种情况下检查 NaN、null 和 >=0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16477405/