将零数字返回true使用IsNaN?



我对IsNaN有一点问题。当数字' 0 '被传递给它时,它会触发为true,而不是预期的false。

我正在从字符串解析一个数字,使用parseFloat将其转换为浮点数:

let val = parseFloat(value.substring(value.indexOf(";")+1, value.lastIndexOf(";")));

然后将'val'存储在数组中这工作得很好,并按预期工作,然而,当我后来检查,以确保它实际上是一个数字与IsNAN,使用这行代码:let disval = (isNaN(val) || val== ")?"价值:Loading":"价值:";+ val;

这非常好,除非数字为零。如果数字是0,它使用它被设置为'Value: Loading'

我曾认为这可能是由于'0'也被认为是假的,但是isNaN的文档方式让我怀疑这有点

是我在这里做错了什么,还是我们的数据可能会被打乱

在js中,表达式0 == ""的结果(令人惊讶)是true

这是因为""被强制转换成一个数字,而Number("")0

val等于0时就得到了加载状态