# 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>
<title>To check whether a number is NAN or not</title>
<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>
<title>To check whether a number is NAN or not</title>
<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.