JavaScript isNaN() Method Tutorial

JavaScript provides the isNaN() method in order to check whether a given value or variable is a number or not. NaN is the short form the “Not a Number” and checks for negative cases. If the given value or variable is not a number it will return true, if a number it will return false. There is isNaN() and Number. isNaN() function event they provide similar function the interior working methodology and in some cases results are different. We will talk about these below.

Why Use isNan() Function?

Before diving into the isNaN() method we will list why we use it. There may be different cases and causes like below.

  • Check given value is a number
  • Check if given value is acceptable
  • Checking for security in the client side

isNaN() vs Number.isNaN()

As stated previously there are two isNaN() methods. isNaN() method will try to convert the given value or variable into a number and then check if it is number or not but the Number.isNaN() does not try to convert into a number and directly checks the given variable or value if it is a number or not.

isNaN() Method Syntax

isNaN() function has very simple syntax where a single value or variable is provided to this method. isNaN() method provided with all major browsers latest versions like Google Chrome, Mozilla Firefox, Microsoft Edge, Internet Explorer, Opera, Safari and their mobile versions

isNaN(var)
  • var is a variable or value which contains some data like 1, 3.4, “Hello” etc. This parameter is a must.

The return type of the isNaN() function is boolean which can return true or false according to the given value or variable.

NaN() Function Examples

Below we will list some examples about the NaN() function with different values and provides the return value like false or true.

isNaN(321) 
//false
//Value is a a decimal number

isNaN(-3.45) 
//false
//The value is an negative decimal which is a number

isNaN(5-2) 
//false
//The result is 3 as a number

isNaN(0) 
//false
//The value is 0 which a a number

isNaN('123') 
//false
//Even provided value is a string it is converted into number which is valid

isNaN('Hello') 
//true
//Provided value is string and can not be converted into number

isNaN('2005/12/12') 
//true
//Provided value is string representation of a date an can not be converted into a number

isNaN('') 
//false
//There is no value and converted as 0 into number

isNaN(true) 
//false
//The boolean value type true is converted as 1 into a number


isNaN(undefined) 
//true
//The undenfined do not contains any data which can not be converted into number

isNaN('NaN') 
//true
//'NaN' string is not a number because it can not be converted into number

isNaN(NaN) 
//true
//NaN string is not a number because it can not be converted into number

isNaN(0 / 0) 
//true
//Division zero to zero will return an error which can not be converted into a number

isNaN(null) 
//false
//Null is an empty value which is converted into 0

isNaN("Infinity")
//false
//Infinity is converted into a number even it can not a countable number

isNaN(false)
//false
//Boolean false will be converted into 0 which is a number

isNaN(Infinity)
//false
//Infinity will be converted into infinite number which will be false

Leave a Comment