Why is isNaN(null) == false in JS?



The isNan() method is used in JavaScript to check whether there’s the existence of an undefined value or can say checks for a NaN object. 

Example

To check whether a JavaScript date is valid or not, you can try to run the following code −

<!DOCTYPE html>
<html>
   <body>
      <script>
         var date1, date2;

         date1 = new Date("2018/1/1");

         if( ! isNaN ( date1.getMonth() )) {
            document.write("Valid date1: "+date1);
         } else {
            document.write("<br>Invalid date1");
         }

         date2 = new Date("20181/1");

         if( ! isNaN ( date2.getMonth() )) {
            document.write("<br> Valid date2: "+date2);
         } else {
            document.write("<br>Invalid date2");
         }
      </script>
   </body>
</html>

The isNaN(null) == false is semantically correct. This is because null is not NaN.


Advertisements