NaN
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
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
Specification |
---|
ECMAScript Language Specification # sec-value-properties-of-the-global-object-nan |
Compatibilidade com navegadores
BCD tables only load in the browser