Note that you didn't actually explained why NaN === NaN return false. You only explained that this is how it works. But the reason is because of IEEE 754 floating-point standard that specified how NaN should behave en.wikipedia.org/wiki/NaN
A software engineer with 4+ years of experience who loves working with JavaScript and loves refactoring to the point that I look weekly into old codebase of mine and refactor some parts of it!
Note that you didn't actually explained why NaN === NaN return false. You only explained that this is how it works. But the reason is because of IEEE 754 floating-point standard that specified how NaN should behave en.wikipedia.org/wiki/NaN
Yep, I added a reference explaining it further more