Сводка

Глобальное свойство NaN является значением, представляющим не-число (Not-A-Number).

Атрибуты свойстваNaN
Записываемое нет
Перечисляемое нет
Настраиваемое нет

Синтаксис

NaN

Описание

NaN является свойством глобального объекта.

Начальным значением NaN является не-число (Not-A-Number) — то же самое значение имеет Number.NaN. В современных браузерах NaN является ненастраиваемым и незаписываемым свойством. Даже когда это не так, избегайте его переопределения.

В программах NaN используется редко. Он возникает, когда математические функции не могут вернуть значение (например, при вызове Math.sqrt(-1)) или когда функция считывания числа из строки не может это сделать, потому что в строке не число (parseInt('blabla')).

Проверка на равенство NaN

Операторы равенства (== и ===) не могут использоваться для проверки значения на равенство NaN. Вместо них используйте функции Number.isNaN() или isNaN().

NaN === NaN;        // false
Number.NaN === NaN; // false
isNaN(NaN);         // true
isNaN(Number.NaN);  // true

Спецификации

Спецификация Статус Комментарии
ECMAScript 1-е издание. Стандарт Изначальное определение. Реализована в JavaScript 1.3.
ECMAScript 5.1 (ECMA-262)
Определение 'NaN' в этой спецификации.
Стандарт  
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'NaN' в этой спецификации.
Стандарт  

Совместимость с браузерами

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка (Да) (Да) (Да) (Да) (Да)
Возможность Android Chrome для Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка (Да) (Да) (Да) (Да) (Да) (Да)

Смотрите также

Метки документа и участники

Метки: 
Внесли вклад в эту страницу: Gamesurf, Mingun
Обновлялась последний раз: Gamesurf,