
How to Check NaN in JavaScript
Checking if a value is NaN
in JavaScript can be tricky. This is because you can’t use the typeof
operator since the type of NaN
is surprisingly number
.
// This will return "number" as a type
typeof NaN
Copied to clipboard!
You also can’t do value === NaN
since NaN
is not equal to itself. But since it does not equal to itself, we can check the value against itself: value !== value
.
// We can't do triple equal either since NaN is not equal to itself
value === NaN // retun false
NaN === NaN // return false
// If the value is not equal to itself, we can be sure it is NaN
value !== value
Copied to clipboard!
We can also use the new Number.isNaN()
function introduced in ES6:
Number.isNaN(value);
Copied to clipboard!

Looking to improve your skills? Check out our interactive course to master JavaScript from start to finish.

Resources:
📚 More Webtips
Master the Art of Frontend
Unlimited access to hundred of tutorials
Access to exclusive interactive lessons
Remove ads to learn without distractions