Javascript isNaN()真的有必要吗?

Javascript isNaN()真的有必要吗?,javascript,nan,Javascript,Nan,根据1关于isNaN(重点矿山)的说明: 与JavaScript中所有其他可能的值不同,不可能依赖相等运算符(==和===)来确定值是否为NaN,因为NaN==NaN和NaN==NaN的计算结果都为false。因此,有必要使用isNaN函数 但是,由于NaN是JavaScript中唯一一个将与自身不相等的值,因此实际上可以依靠严格的相等运算符来明确地确定值是否为NaN: const value=NaN; log(value==value)否,没有必要使用内置的isNaN功能isNaN只是为了方

根据1关于isNaN(重点矿山)的说明:

与JavaScript中所有其他可能的值不同,不可能依赖相等运算符(==和===)来确定值是否为NaN,因为NaN==NaN和NaN==NaN的计算结果都为false。因此,有必要使用isNaN函数

但是,由于
NaN
是JavaScript中唯一一个将与自身不相等的值,因此实际上可以依靠严格的相等运算符来明确地确定值是否为
NaN

const value=NaN;

log(value==value)
否,没有必要使用内置的
isNaN
功能
isNaN
只是为了方便起见。当然,可以手动执行以下操作:

const isNaN = arg => arg !== arg
对于您希望在中执行此类操作的每个脚本,但这将是一个乏味的过程

或没有函数,考虑阅读代码:

if (parsedNumber !== parsedNumber) {
  // It's NaN
}

这看起来很奇怪,让代码尽可能可读符合程序员的最大利益。

我理解这一点,谢谢。我对那个具体的MDN声明感到困惑。因此,既然这只是为了方便(我也这么认为),我们能同意这个句子完全错了吗?是的。非常确定它是用来阅读的——“你不能使用
someVar===NaN
来测试。”我会编辑它以澄清我想你已经搞定了,这可能就是这里发生的事情:作者可能是说“你不能将变量与NaN进行比较”,但他/她忘记了可以将变量与自身进行比较,因此,可以使用严格相等运算符明确地确定变量是否为
NaN
。。。