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. |
Standard | |
ECMAScript 6 (ECMA-262) The definition of 'NaN' in that specification. |
Release Candidate |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |