This page was translated from English by the community.Learn more and join the MDN Web Docs community.
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 г..
Сводка
МетодNumber.isNaN() определяет, является ли переданное значениеNaN. Это более надёжная версия оригинальной глобальной функцииisNaN().
In this article
Синтаксис
Number.isNaN(value)
Параметры
Описание
Поскольку оба оператора проверки на равенство,== и===, вычисляются вfalse при проверке, чтоNaNи естьNaN, появляется необходимость в функцииNumber.isNaN(). Эта ситуация отличается от всех других возможных сравнений в JavaScript.
В отличие от глобальной функцииisNaN(),Number.isNaN() не имеет проблемы принудительного преобразования параметра в число. Это значит, что в него безопасно передавать значения, которые обычно превращаются вNaN, но на самом делеNaN не являются. Также это значит, что метод возвращаетtrue только для числовых значений, имеющих значениеNaN.
Примеры
Number.isNaN(NaN); // trueNumber.isNaN(Number.NaN); // trueNumber.isNaN(0 / 0); // true// При использовании глобальной функции isNaN() это всё будет trueNumber.isNaN("NaN"); // falseNumber.isNaN(undefined); // falseNumber.isNaN({}); // falseNumber.isNaN("blabla"); // false// А это всё в любом случае будет falseNumber.isNaN(true);Number.isNaN(null);Number.isNaN(37);Number.isNaN("37");Number.isNaN("37.37");Number.isNaN("");Number.isNaN(" ");Полифил
Number.isNaN = Number.isNaN || function (value) { return typeof value === "number" && isNaN(value); };Спецификации
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-number.isnan> |