The Number.NaN property represents Not-A-Number. Equivalent of NaN.

You do not have to create a Number object to access this static property (use Number.NaN).

Property attributes of Number.NaN
Writable no
Enumerable no
Configurable no


Checking whether values are numeric

function sanitise(x) {
  if (isNaN(x)) {
    return Number.NaN;
  return x;

Testing against NaN

See Testing against NaN on the NaN page.


ECMAScript (ECMA-262)
The definition of 'Number.NaN' in that specification.

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
NaNChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 4Opera Full support 3Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0nodejs Full support 0.1.100


Full support  
Full support

See also

  • The global NaN object.
  • The Number object it belongs to.