NaN === NaN is false in JavaScript

How to check for NaN when checking for a number in JavaScript

NaN is the only JavaScript value not equal to itself, so if you see a check for self-equality in JavaScript it is a NaN check, equivalent to Number.isNaN().

Jakub Szlapański, thanks for stopping by with your response to my article on how to check for JavaScript numbers!

You’re right, it seems like the following code checking for self-equality should always return true in JavaScript, since values should equal themselves.

The reality is that NaN (Not-A-Number) doesn’t follow that rule:

Indeed, I wrote about checking for NaN in Coding in Simple English:

I also have written about using Object.is() in JavaScript in Coding at Dawn:

Thanks again for sharing your response and helping me clarify this point!

Image for post
Image for post
Photo by Rattap on Unsplash

🤓 The physical therapist who writes JavaScript 💪 Web Developer 😎 Mentor 🧠 DPT 😄 SEO Expert 😁 React 😆 Jamstack 💬 Ask me anything 👉 DoctorDerek.com 👈

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store