JavaScript метод isNaN()
JavaScript объект GlobalОпределение и применение
JavaScript метод isNaN() определяет, является ли передаваемое значение NaN (англ. Not-a-Number, "не число") и возвращает логическое значение.
Обращаю Ваше внимание, что метод Number.isNaN() является улучшенной версией одноименной глобальной функции isNaN() и исправляет некоторые проблемы при работе с ней.
Метод Number.isNaN() преобразует свой аргумент в число только после сравнения его с NaN, в результате чего он возвращает true тогда и только тогда, когда переданный аргумент имеет точно такое же значение, что и NaN. Глобальная функция isNaN() конвертирует свой аргумент в числовой тип перед тем как проводить сравненине, это может приводить к нежелательным ошибкам, в которых не числовые значения возвращают true.
Поддержка браузерами
Метод | Chrome | Firefox | Opera | Safari | IExplorer | Edge |
---|---|---|---|---|---|---|
isNaN() | Да | Да | Да | Да | Да | Да |
JavaScript синтаксис:
isNaN( value );
Версия JavaScript
ECMAScript 3rd Edition (ECMA-262)Значения параметров
Параметр | Описание |
---|---|
value | Значение, которое будет проверяться на NaN. Обязательное значение. |
Пример использования
// Метод возвращает true isNaN( NaN ); isNaN( Number.NaN ); isNaN( 0 / 0 ); isNaN( Infinity / Infinity ); isNaN( -Infinity / Infinity ); // Метод возвращает false isNaN( Infinity ); isNaN( -Infinity ); isNaN( true ); isNaN( null ); isNaN( 123 ); isNaN( "123" ); isNaN( "1.23" ); isNaN( "" ); isNaN( " " ); // Отличие метода Number.isNaN от функции isNan() Number.isNaN( "NaN" ); // false isNaN( "NaN" ); // true Number.isNaN( undefined ); // false isNaN( undefined ); // true Number.isNaN( {} ); // false isNaN( "string" ); // true
В качестве альтернативной проверки переменной на NaN без использования функции isNaN() вы можете воспользоваться следующей конструкцией:
const x = NaN x != x // true x !== x // trueJavaScript объект Global