## DEV Community

Janaka Dissanayake

Posted on

# Is NAN Not a Number?

Recently Javascript became my main development language so I have to solve complex problems using javascript, one of the challenging tasks was in Numeric operation how to represent the absence of a numeric value, do we use

``````0           // 0 has a specific value
undefined   // it is not numeric
null        // it is an object
false       // boolean type
-1          // another specific value
``````

In IEEE spec give special bit pattern or values call NAN, it is called invalid number

``````typeof NaN  // "number"
``````

So if we use numeric operation in a function we need to get a numeric answer

``````const ageCompare = (age,newAge) => {
return Number(age) - Number(newAge)
}

const result = ageCompare(10,2)     // 8
const result = ageCompare(10,"n/a") // NaN
const result = ageCompare("myAge","n/a") // NaN

Number.isNaN(result) ... // true
``````

*** NAN is the only value that not equal to each other

``````NAN===NAN  // false
``````

Please refer following a link that gives a good explanation by Kyle Simpson
https://frontendmasters.com/courses/deep-javascript-v3/nan-isnan/