JavaScript 中的 NaN 表示“非数字”(Not-a-Number),是一种特殊数据类型,用于表示无法表示为数字的值。它是一个保留字,无法使用 typeof 运算符确定其类型,经常在对非数字字符串或无效输入进行数学运算时产生。NaN 不能参与数学运算,任何对 NaN 进行的运算都会返回 NaN,可以使用 Number.isNaN() 函数检测 NaN。

什么是 JavaScript 中的 NaN?
NaN,表示“非数字”(Not-a-Number),是 JavaScript 中一种特殊的数据类型,用于表示无法表示为数字的值。
详细说明:
- NaN 是一个保留字,并且是 JavaScript 中唯一一个无法使用
typeof运算符确定其类型的特殊值。typeof NaN会返回"number",但 NaN 实际上不是一个数字。 - NaN 经常在对非数字字符串或其他无效输入进行数学运算时产生。例如:
<code class="javascript">const result = parseInt("abc"); // NaN
const result = 10 / "hello"; // NaN</code>- NaN 无法参与数学运算。对 NaN 进行的任何数学运算都会返回 NaN:
<code class="javascript">console.log(NaN + 10); // NaN console.log(NaN * 5); // NaN</code>
- NaN 可以用
Number.isNaN()函数来检测。该函数将 NaN 作为参数,并返回一个布尔值:
<code class="javascript">console.log(Number.isNaN(NaN)); // true</code>
重要提示:
- NaN 不是一个数字,即使
typeof NaN返回"number"。 - NaN 不能参与数学运算。
- 使用
Number.isNaN()函数来检测 NaN。










