gpt4 book ai didi

javascript - isNaN() 真的有必要吗?

转载 作者:行者123 更新时间:2023-12-03 07:03:58 25 4
gpt4 key购买 nike

根据MDN page 1 关于isNaN(强调我的):

Unlike all other possible values in JavaScript, it is not possible to rely on the equality operators (== and ===) to determine whether a value is NaN or not, because both NaN == NaN and NaN === NaN evaluate to false. Hence, the necessity of an isNaN function.

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

const value = NaN;
console.log(value === value)

也就是说,那句 MDN 的解释是什么?


PS:我知道 MDN 不是官方文档(也就是 ECMA),它很像维基百科,任何人都可以编辑它。即便如此,它仍然是一个非常可靠的来源。

1:该问题发布后该段已被编辑,as mentioned由回答者提供。

最佳答案

不,不需要内置的 isNaN 函数。 isNaN 只是为了方便起见。当然,可以手动执行:

const isNaN = arg => arg !== arg

对于您想在其中执行此类操作的每个脚本,但这会很乏味。

或者,如果没有该函数,请考虑阅读如下代码:

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

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

关于javascript - isNaN() 真的有必要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64289840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com