Skip to main content

isNaN()

isNaN(value): boolean

Checks if value is NaN.

DEPRECATED

Use Number.isNaN() directly instead.


Parameters​

value: unknown​

The value to check.


Returns: boolean​

true if value is NaN, else false.


See Also​


Since​

2.0.0


Also known as​

isNaN (Lodash, es-toolkit) · ❌ (Remeda, Radashi, Ramda, Effect, Modern Dash, Antfu)


Example​

// ❌ Deprecated approach
isNaN(NaN); // => true
isNaN(undefined); // => false (unlike global isNaN)
isNaN('NaN'); // => false (unlike global isNaN)

// βœ… Recommended approach
Number.isNaN(NaN); // => true
Number.isNaN(undefined); // => false
Number.isNaN('NaN'); // => false

How it works?​

Checks if value is NaN.

Difference from Global isNaN​

Common Checks​

ValueResult
NaN true
undefined false
'NaN' false
null false
42 false

Deprecated: Use Number.isNaN() directly.


Use Cases​

Check NaN value πŸ“Œβ€‹

Check if value is NaN (Not a Number).

Number.isNaN(NaN);        // true
Number.isNaN(undefined); // false
Number.isNaN('hello'); // false

Validate parsed numbers​

Check if parsing produced valid number.

const parsed = parseFloat(userInput);
if (Number.isNaN(parsed)) {
console.log('Invalid number');
}