# Check if a value is NaN

Darren Jones

May 6, 2021

NaN stands for ‘Not a Number’ and is a property of the global object that is returned if you try to perform a numerical operation that doesn’t result in a real number (such as 0/0 or Math.sqrt(-1)), or try to perform a numerical operation on a string that is not addition, for example ‘hello’/’world’.

Bizarrely, given its name, the type of NaN is ‘number’ :

javascript

```
typeof NaN
// “number”
```

NaN is the only value in JavaScript that is not equal to itself.:

javascript

```
NaN === NaN
// false
```

There are 3 ways to check if a value is NaN:

javascript

```
//Use the `Number.isNaN()` method:
Number.isNaN(value)
//Use the `Object.is()` method to compare the value to NaN:
Object.is(NaN,value)
//Check if the value doesn’t equal itself:
value !== value
//(remember NaN is the only value in JavaScript that this is true for)
```