Verificare la presenza di NaN (“non un numero”) è semplice come verificare l’uguaglianza di sé in JavaScript.
Dr. Derek Austin 🥳
Segui
15 set 2019 · 4 minuti di lettura
In JavaScript, il valore speciale NaN (che significa” non un numero “) viene utilizzato per rappresentare il risultato di un calcolo matematico che non può essere rappresentato come un numero significativo. – Joshua Clanton su A Drip of JavaScript
Il valore speciale NaN viene visualizzato in JavaScript quando Math le funzioni falliscono (Math.sqrt(-37)) o quando una funzione che tenta di analizzare un numero fallisce (parseInt("No integers here")).
NaN quindi avvelena tutte le altre funzioni matematiche, portando a tutte le altre operazioni matematiche risultanti in NaN.
Nota che in JavaScript, la divisione per 0 restituisce Infinity, non NaN:
Questo risultato è dovuto al modo in cui floating-poi nt è definito, più in generale del solo Javascript. Perché? Approssimativamente, perché 1/0 è il limite di 1 / x quando x si avvicina a zero. E 0/0 non ha alcuna interpretazione ragionevole, quindi NaN.
Che cos’è NaN comunque?
NaN è una proprietà dell’oggetto globale. Il valore iniziale di NaN è Not-A-Number, lo stesso del valore di Number.NaN. – Documenti MDN
Verificare la presenza di NaN è più difficile di quanto sembri
Sfortunatamente, ci sono due problemi con il tentativo di controllare NaN:
typeof NaN è” number “
NaN è diverso da tutti gli altri valori in JavaScript
Dai un’occhiata a questo esempio di codice:
Allora come controlliamo se abbiamo un valore NaN che avvelenerà la matematica?