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. 


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

<!DOCTYPE html>
         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");

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