JavaScript 对 Number(undefined) 有什么作用?

What does JavaScript do with Number(undefined)?

我最近出于无聊考虑定义一个函数来复制 isNaN 的功能,当我发现 Number(undefined) 等于 NaN</code>, but if you doNumber(undefined) === NaNyou get假`。

我什至尝试了 (typeof Number(undefined)) === (typeof NaN) returns true

JavaScript 在这里做什么?

常量 NaN 永远不等于任何值,包括 NaNtypeof NaN的值为"number",因为NaN是一个数字常量。

Number(undefined)的值为NaN。您可以使用 isNaN() 来验证,或者简单地:

var x = Number(undefined);
if (x !== x) alert("It's NaN!");