Number.NaN
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The Number.NaN static data property represents Not-A-Number, which is equivalent to NaN. For more information about the behaviors of NaN, see the description for the global property.
Try it
function clean(x) {
if (x === Number.NaN) {
// Can never be true
return null;
}
if (isNaN(x)) {
return 0;
}
}
console.log(clean(Number.NaN));
// Expected output: 0
Value
The number value NaN.
Property attributes of Number.NaN | |
|---|---|
| Writable | no |
| Enumerable | no |
| Configurable | no |
Description
Because NaN is a static property of Number, you always use it as Number.NaN, rather than as a property of a number value.
Examples
>Checking whether values are numeric
js
function sanitize(x) {
if (isNaN(x)) {
return Number.NaN;
}
return x;
}
Specifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-number.nan> |
Browser compatibility
Loading…