NaN is the only value that is not equal to itself. If we check other values, they are equal to themselves but the value NaN is not equal to itself.
Example-1
<html> <body> <script> var val = 54/"the"; document.write(val); document.write("</br>"); if(val == NaN) { document.write("NaN is equal to NaN"); } else { document.write("check in another way"); } </script> </body> </html>
Output
NaN check in another way
There are some cases, in which we have to use particular conditions. In those conditions, there might be a condition regarding NaN i.e whether a NaN is a NaN or not. So, there is a necessity to build a condition regarding NaN. To get that condition, ES6 has come into the picture. It has provided Object.is() to check whether a NaN is a NaN or not.
Example-2
<html> <body> <script> var val = 54/"the"; document.write(val); document.write("</br>"); document.write(Object.is(val,NaN)); </script> </body> </html>
Output
NaN true