Sprawdzanie NaN („nie jest liczbą”) jest tak proste, jak sprawdzenie równości w JavaScript.
Dr Derek Austin 🥳
Obserwuj
15 września 2019 · 4 min czytania
W JavaScript specjalna wartość NaN (oznaczająca„ nie jest liczbą ”) jest używana do reprezentowania wyniku obliczeń matematycznych, których nie można przedstawić jako znacząca liczba. – Joshua Clanton w kroplówce JavaScript
Specjalna wartość NaN pojawia się w JavaScript, gdy Math funkcje zawodzą (Math.sqrt(-37)) lub gdy funkcja próbująca przeanalizować numer kończy się niepowodzeniem (parseInt("No integers here")).
NaN następnie zatruwa wszystkie inne funkcje matematyczne, prowadząc do wszystkich innych operacji matematycznych powodujących NaN.
Zauważ, że w JavaScript dzielenie przez 0 zwraca Infinity, a nie NaN:
Ten wynik wynika z tego, jak zmienny-poi nt jest zdefiniowane, bardziej ogólnie niż tylko JavaScript. Dlaczego? Z grubsza, ponieważ 1/0 jest granicą 1 / x, gdy x zbliża się do zera. A 0/0 nie ma w ogóle sensownej interpretacji, stąd NaN.
Czym w ogóle jest NaN?
NaN jest właściwością obiektu globalnego. Początkowa wartość NaN to Not-A-Number – taka sama jak wartość Number.NaN. – Dokumenty MDN
Sprawdzenie NaN jest trudniejsze niż się wydaje
Niestety, są dwa problemy z próbą sprawdzenia NaN:
typeof NaN to„ numer ”
NaN nie jest równe każdej innej wartości w JavaScript
Sprawdź ten przykład kodu:
Jak więc sprawdzić, czy mamy NaN wartość, która zatruwa matematykę?