NaN 之谜:为什么它在 Typeof 中返回“Number”?
尽管它的名字是“Not a Number”(NaN) ),这个神秘的值属于数字类型的范畴。这种特殊的行为可以归因于 JavaScript 数字数据的内部表示。
NaN 表示超出数字类型限制的特定值。虽然所有数字(包括需要舍入的数字)可能面临类似的约束,但 NaN 由于其特定的指定而构成了一种独特的情况。
当考虑涉及 NaN 的比较时,NaN 作为数字类型的明显矛盾变得更加有趣。与预期相反,不同的 NaN 值被视为不同的,导致它们即使与自身相比也被认为是不平等的。
为了进一步澄清,JavaScript 将比较分为“信号”或“非信号”。当涉及 NaN 时,信令比较会引发异常,而非信令比较只会返回 false。这种区别在等式和不等式测试中很明显,其中如果 x 是“安静的 NaN”,则 x == x 的计算结果为 false。
最终,NaN 分类为数字类型的基本原理及其在比较中的独特行为归结为 JavaScript 的底层数字表示及其对区分不同 NaN 值的承诺。理解这些细微差别对于有效的 JavaScript 编程至关重要,使开发人员能够了解数据类型和比较的复杂性。
以上是为什么 JavaScript 的 NaN 在 `typeof` 中返回'Number”?的详细内容。更多信息请关注PHP中文网其他相关文章!