Tento překlad není kompletní. Prosím pomozte přeložit tento článek z angličtiny.
Globální reprezentant NaN
je hodnota představující Not-A-Number (není číslo).
Property attributes of NaN |
|
---|---|
Writable | no |
Enumerable | no |
Configurable | no |
Syntaxe
NaN
Popis
NaN
je vlastností global object (globálního objektu).
Výchozí hodnota NaN
je Not-A-Number (není číslo) — stejná jako hodnota Number.NaN
. V moderních prohlížečích je NaN nekonfigurovatelné a nezapisovatelné. A dokonce nejedná-li se o tento případ, znemožňují jeho přepsání.
Je poměrně vzácné, použít NaN
ve zdrojovém kódu programu. Jde hlavně o návratovou hodnotu když Math
funkce selže (Math.sqrt(-1)
) nebo když selže funkce pro parsování čísla (parseInt("blabla")
).
Testování a porovnání s NaN
NaN
při porovnání (via ==
, !=
, ===
, and !==
) s jakoukoli hodnotou vrací hodnotu false (nerovná se) -- dokonce i při porovnání oproti jiné hodnotě NaN. Proto používejte Number.isNaN()
nebo isNaN()
k nejjistějšímu rozpoznání, zda-li je hodnota NaN. Nebo proveďte porovnání proty sobě samé: NaN, a pouze NaN, při porovnání proti sobě vyjde, že se hodnoty nerovnají.
NaN === NaN; // false Number.NaN === NaN; // false isNaN(NaN); // true isNaN(Number.NaN); // true function valueIsNaN(v) { return v !== v; } valueIsNaN(1); // false valueIsNaN(NaN); // true valueIsNaN(Number.NaN); // true
Specifikace
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Prvotní definice. Implementováno v JavaScript verzi 1.3 |
ECMAScript 5.1 (ECMA-262) The definition of 'NaN' in that specification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'NaN' in that specification. |
Standard | |
ECMAScript 2017 Draft (ECMA-262) The definition of 'NaN' in that specification. |
Draft |
Kompatibilita prohlížečů
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) |