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.
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: 0The number value NaN.Property attributes of Number.NaNWritable no Enumerable no Configurable no
Because NaN is a static property of Number, you always use it as Number.NaN, rather than as a property of a number value.
function sanitize(x) {
if (isNaN(x)) {
return Number.NaN;
}
return x;
}