Summary
A value representing Not-A-Number.
Core Global Property | |
---|---|
Implemented in | JavaScript 1.3 |
ECMAScript Edition | ECMAScript 1st Edition |
Syntax
NaN
Description
NaN
is a property of the global object.
The initial value of NaN
is Not-A-Number — the same as the value of Number.NaN
. In modern browsers, NaN
is a non-configurable, non-writable property. Even when this is not the case, avoid overriding it.
It is rather rare to use NaN
in a program. It is the returned value when Math functions fail (Math.sqrt(-1)
) or when a function trying to parse a number fails (parseInt("blabla")
).
Testing against NaN
Equality operator (==
and ===
) cannot be used to test a value against NaN
. Use isNaN
instead.
NaN === NaN; // false Number.NaN === NaN; // false isNaN(NaN); // true isNaN(Number.NaN); // true