Сводка
Глобальное свойство 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' в этой спецификации. |
Стандарт |
Совместимость с браузерами
Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) |
Возможность | Android | Chrome для Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) | (Да) |