La proprietà NaN di Javascript
La proprietà NaN di Javascript è un valore speciale che un'entità non è un numero.
Number.NaN
In Javascript il valore NaN viene restituito come il risultato di un'operazione matematica non valida.
Ad esempio, la divisione per zero o la moltiplicazione per infinito.
Nota. Il termine NaN è l'abbreviazione inglese di Not a Number. È equivalente alla proprietà NaN dell'oggetto globale window ma è una proprietà dell'oggetto Number.
Un esempio pratico
In questo script effettuo un'operazione matematica
<script>
var y = 0/0;
document.write(y);
</script>
Lo script effettua la divisione per zero 0/0 e memorizza il risultato NaN nella variabile y.
Poi stampa il contenuto della variabile y.
NaN
Esempio 2
Il valore speciale NaN non è uguale a nessun valore, nemmeno a se stesso.
Quindi, se confronto due NaN tra loro il risultato è false.
<script>
var y = 0/0;
document.write(y==Number.NaN);
</script>
In questo script stampo il confronto tra la variabile y e il valore Number.NaN.
Per essendo entrambi due valori NaN, il risultato del confronto è false
false
Nota. Per verificare se una variabile contiene un valore NaN (Not a Number) devo utilizzare la funzione isNaN().
Esempio 3
Se utilizzo in qualsiasi operazione matematica, il risultato è sempre un valore del tipo NaN.
<script>
var y = 3 + Number.NaN;
document.write(y);
</script>
Questo script somma il valore intero 3 con la proprietà Number.NaN
Il risultato in output è un valore NaN
NaN
E così via.