NaN

Resumo

A propriedade global NaN é um valor especial que significa Not-A-Number (não é um número).

Property attributes of NaN
Writable no
Enumerable no
Configurable no

Sintaxe

NaN

Descrição

NaN é uma propriedade do objeto global.

O valor inicial de NaN é Not-A-Number - o mesmo valor de Number.NaN. Nos navegadores modernos, o NaN é uma propriedade somente leitura e não configurável. Mesmo quando não for este o caso, evite sobrescrevê-lo.

Não é usual a utilização do NaN. Ele é retornado quando uma operação matemática falha (Math.sqrt(-1)) ou quando uma função tenta transformar uma string em inteiro (parseInt("blabla")).

Testando um valor NaN

Os operadores de igualdade (== e ===) não podem ser usados para testar um valor NaN. Ao invés disso, utilize Number.isNaN() ou isNaN().

NaN === NaN;        // falso
Number.NaN === NaN; // falso
isNaN(NaN);         // verdadeiro
isNaN(Number.NaN);  // verdadeiro

Especificações

Especificação Status Comentários
ECMAScript 1st Edition. Standard Definição inicial. Implementado no JavaScript 1.3
ECMAScript 5.1 (ECMA-262)
The definition of 'NaN' in that specification.
Padrão
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'NaN' in that specification.
Padrão

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também