Predict the output of the following javascript code
console.log(NaN === NaN);
Quiz Explanation
In JavaScript, the comparison NaN === NaN
returns false
. This might seem counterintuitive, but it's because NaN
stands for "Not a Number", and by definition, any value that is "not a number" is not equal to any other value that is also "not a number", including itself.
This behavior arises from the IEEE 754 floating point standard, which JavaScript follows for its number representation. According to this standard, NaN
is considered unordered and does not equal itself.
If you need to check if a value is NaN
, you can use the isNaN()
function, which returns true
if the value is NaN
, and false
otherwise.