javascript - NaN 评估背后的逻辑是什么?

标签 javascript nan logical-operators

<分区>

你能解释一下 javascript 中 NaN 的逻辑求值吗?

NaN==NaN   (false)
!NaN==!NaN (true)
NaN!=NaN   (true)
NaN==false (false)
NaN==true  (false)

我在这里有点惊讶......

最佳答案

因为规范就是这么说的。

具体来说,IEE 浮点规范指出 NaN 不等于自身。
因此,在 Javascript 中,没有 NaN 可以等于的值。

!NaNtrue,因为 NaN 是一个假值。

这使您的所有示例都显而易见。

关于javascript - NaN 评估背后的逻辑是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23875008/

相关文章:

javascript - 运算符 += 产生意外结果 javascript

java - 解释此转换为 Java == 的 boolean 逻辑转换规则?

java - 检查 if 语句中的对象引用以及其他对象的方法是否为 null

JavaScript 无法在 mac OS、iphone 中运行

javascript - 观察当前时间的 Ember 计算属性

javascript - typescript -我在使用函数的返回值时遇到问题

java - Java 中对 NaN 的困惑

python - NaNs 在 Numpy 中比较相等

javascript - 如何在循环内的元素的类之间切换?

python - numpy.searchsorted 用于包含 numpy.nan 的数组