Sommario
La proprietà globale NaN è un valore che rappresenta un non numero (Not-a-Number).
Property attributes of NaN |
|
|---|---|
| Writable | no |
| Enumerable | no |
| Configurable | no |
Sintassi
NaN
Descrizione
Nan è una proprità del global object e indica il fatto che un certo valore non è un numero legale/valido.
Il valore iniziale di Nan è Not-A-Number — lo stesso valore che si può riscontrare accedendo a Number.NaN. Nei browser moderni NaN è una proprietà non configurabile e non scrivibile (read-only).
NaN è restituito principalemente come valore di fallimento dalle funzioni "matematiche" come Math.sqrt(-1) oppure quando si prova ad eseguire il parseInt di una stringa che non contiene cifre numeriche come parseInt("blabla")
Testare il valore NaN
Gli operatori di uguaglianza (== o ===) non possono essere usati per verificare il valore di NaN. Deve essere invece utilizzato il metodo IsNaN() presente sia nell'oggetto globale isNaN() che nell'oggetto Number Number.isNaN().
NaN === NaN; // false Number.NaN === NaN; // false isNaN(NaN); // true isNaN(Number.NaN); // true
Specifiche
| Specification | Status | Comment |
|---|---|---|
| ECMAScript 1st Edition. | Standard | Initial definition. Implemented in 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 |
Compatibilità
| 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) |