Movatterモバイル変換


[0]ホーム

URL:


  1. 面向开发者的 Web 技术
  2. JavaScript
  3. JavaScript 参考
  4. JavaScript 标准内置对象
  5. Number
  6. Number.isNaN()

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in EnglishAlways switch to English

Number.isNaN()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年9月⁩.

Number.isNaN() 静态方法判断传入的值是否为NaN,如果输入不是数字类型,则返回false。它是全局isNaN() 函数更健壮的版本。

尝试一下

function typeOfNaN(x) {  if (Number.isNaN(x)) {    return "Number NaN";  }  if (isNaN(x)) {    return "NaN";  }}console.log(typeOfNaN("100F"));// Expected output: "NaN"console.log(typeOfNaN(NaN));// Expected output: "Number NaN"

语法

js
Number.isNaN(value)

参数

value

要测试是否为NaN 的值。

返回值

如果给定值是一个值为NaN 的数字,则返回布尔值true,否则返回false

描述

函数Number.isNaN() 提供了一种方便的方法来检查值是否与NaN 相等。请注意,你不能使用===== 运算符来测试值与NaN 的相等性,因为与 JavaScript 中的其他值的比较不同,这些运算符在一个操作数为NaN 时始终返回false,即使另一个操作数也是NaN

由于在所有可能的 JavaScript 值中,x !== x 只有对于NaN 才为真,因此Number.isNaN(x) 也可以替换为x !== x,尽管后者可读性较差。

与全局的isNaN() 函数相反,Number.isNaN() 方法不会将参数强制转换为数字。这样可以安全地传入通常会转换为NaN 但实际上与NaN 不同的值。这也意味着只有等于NaN 的 Number 类型的值才会返回true

示例

使用 isNaN()

js
Number.isNaN(NaN); // trueNumber.isNaN(Number.NaN); // trueNumber.isNaN(0 / 0); // trueNumber.isNaN(37); // false

Number.isNaN() 和全局 isNaN() 之间的区别

Number.isNaN() 不会尝试将参数转换为数字,因此非数字总是返回false。以下都返回false

js
Number.isNaN("NaN");Number.isNaN(undefined);Number.isNaN({});Number.isNaN("blabla");Number.isNaN(true);Number.isNaN(null);Number.isNaN("37");Number.isNaN("37.37");Number.isNaN("");Number.isNaN(" ");

全局isNaN() 函数会将参数强制转换为数字:

js
isNaN("NaN"); // trueisNaN(undefined); // trueisNaN({}); // trueisNaN("blabla"); // trueisNaN(true); // false,强制转换为 1isNaN(null); // false,强制转换为 0isNaN("37"); // false,强制转换为 37isNaN("37.37"); // false,强制转换为 37.37isNaN(""); // false,强制转换为 0isNaN(" "); // false,强制转换为 0

规范

Specification
ECMAScript® 2026 Language Specification
# sec-number.isnan

浏览器兼容性

参见

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp