--- title: NaN slug: Web/JavaScript/Reference/Global_Objects/NaN translation_of: Web/JavaScript/Reference/Global_Objects/NaN ---
A propriedade global NaN
é um valor especial que significa Not-A-Number (não é um número).
{{js_property_attributes(0,0,0)}}
NaN
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")).
NaN
Os operadores de igualdade (==
e ===
) não podem ser usados para testar um valor NaN. Ao invés disso, utilize {{jsxref("Number.isNaN()")}} ou {{jsxref("Global_Objects/isNaN", "isNaN()")}}.
NaN === NaN; // falso Number.NaN === NaN; // falso isNaN(NaN); // verdadeiro isNaN(Number.NaN); // verdadeiro
Especificação | Status | Comentários |
---|---|---|
ECMAScript 1st Edition. | Standard | Definição inicial. Implementado no JavaScript 1.3 |
{{SpecName('ES5.1', '#sec-15.1.1.1', 'NaN')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-value-properties-of-the-global-object-nan', 'NaN')}} | {{Spec2('ES6')}} |
{{ CompatibilityTable() }}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} |