Table of contents
- 1. Summary
- 2. Syntax
- 3. Description
- 3.1. Testing against NaN
- 4. See also
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


Mozilla Developer Network