is-nan-x

ES6-compliant shim for Number.isNaN - the global isNaN returns false positives.

Usage no npm install needed!

<script type="module">
  import isNanX from 'https://cdn.skypack.dev/is-nan-x';
</script>

README

Travis status Dependency status devDependency status npm version jsDelivr hits bettercodehub score Coverage Status

is-nan-x

ES6-compliant shim for Number.isNaN - the global isNaN returns false positives.

module.exports(value)boolean

This method determines whether the passed value is NaN and its type is Number. It is a more robust version of the original, global isNaN().

Kind: Exported function
Returns: boolean - true if the given value is NaN and its type is Number; otherwise, false.

Param Type Description
value * The value to be tested for NaN.

Example

import numberIsNaN from 'is-nan-x';

console.log(numberIsNaN(NaN)); // true
console.log(numberIsNaN(Number.NaN)); // true
console.log(numberIsNaN(0 / 0)); // true

// e.g. these would have been true with global isNaN()
console.log(numberIsNaN('NaN')); // false
console.log(numberIsNaN(undefined)); // false
console.log(numberIsNaN({}); // false
console.log(numberIsNaN('blabla')); // false

// These all return false
console.log(numberIsNaN(true));
console.log(numberIsNaN(null));
console.log(numberIsNaN(37));
console.log(numberIsNaN('37'));
console.log(numberIsNaN('37.37'));
console.log(numberIsNaN(''));
console.log(numberIsNaN(' '));