How do you test if a value is equal to NaN in Javascript?


This article discusses about how do you test if a value is equal to NaN in JavaScript. In JavaScript, NaN is a method from Number class. NaN implies Not-a-Number. It is of Boolean type. It returns true when the value is “Not-a-number”.

The NaN method is used in the situations. For example, when a function tries to parse a number and it fails or when a math function fails, the method NaN is used. The syntax for isNaN() method is shown below.

isNaN(); or Number.isNaN();

There is a difference between isNaN() and Number.isNaN(). If the value is currently NaN or will be NaN after being converted to a number, isNaN() will return true. To put it another way, isNaN() will return false if it receives a value that can be converted to a number. But the function Number.isNaN() returns true, only if the value is currently NaN.

Let us see a few examples for these −

Example 1

The following example below will check whether a value is equal to NaN or not by using isNaN() method.

<html>
<body>
   <p id="height"></p>
   <script>
      document.write(isNaN('hello world') + "<br>");
      document.write(Number.isNaN('hello world'));
   </script>
</body>
</html>

On executing the above code, the following output is generated.

Example 2

The following is another example program to check whether a value is equal to NaN or not by using isNaN() method.

<!DOCTYPE HTML>
<html>
<head>
   <title>To check whether a number is NAN or not</title>
</head>
<body style = "text-align:center;">
   <h3>A simple program to check whether a number is NAN or not.</h3>
   <p id="text1"></p>
   <script type="text/javascript">
      function check(value){
         if(isNaN(value)){
            return 'is NaN';
         }else{
            return 'is not a NaN';
         }
      }
      var a = check('100');
      var b = check('Tutorials Point');
      var c = check('100.234');
      var d = check('2/3');
      var e = check('15/04/2022');
      document.getElementById("text1").innerHTML = "100 "+a+'<br />'+"TutorialsPoint "+b+'<br />'+"100.234 "+c+'<br />'+"2/3 "+d+'<br />'+"15/04/2022 "+e+'<br />';
   </script>
</body>
</html>

On executing the above code, the following output is generated.

Example 3

The below example uses the Number.isNaN() method. The Number.isNaN() returns true if the given value is NaN and its type is Number; or else it returns false. The isNaN() method converts the value to a number before testing it. It is not possible in the case of Number.isNaN() method.

<!DOCTYPE HTML>
<html>
<head>
   <title>To check whether a number is NAN or not</title>
</head>
<body style = "text-align:center;">
   <h3>A simple program to check whether a number is NAN or not by using Number.isNaN method.</h3>
   <p id="text1"></p>
   <script type="text/javascript">
      function check(value){
         if(Number.isNaN(value)){
            return 'is NaN';
         }else{
            return 'is not a NaN';
         }
      }
      var a = check(100);
      var b = check('Tutorials Point');
      var c = check(0/0);
      var d = check(Math.sqrt(-100));
      var e = check('15/04/2022');
      document.getElementById("text1").innerHTML = "100 "+a+'<br />'+"TutorialsPoint "+b+'<br />'+"0/0 "+c+'<br />'+"Square root √-100 "+d+'<br />'+"15/04/2022 "+e+'<br />';
   </script>
</body>
</html>

On executing the above code, the following output is generated.

Updated on: 08-Dec-2022

212 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements