NaN w JavaScript
Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Czym jest NaN w JavaScript?
NaN oznacza Not a Number, czyli „nie jest liczbą”. Jest to specjalna wartość typu number, która pojawia się wtedy, gdy JavaScript próbuje wykonać działanie matematyczne, ale nie potrafi otrzymać poprawnej liczby.
Najczęstsza sytuacja to wykonanie operacji arytmetycznej na wartości tekstowej, której nie da się zamienić na liczbę.
Przykłady
let x = "tekst";
let wynik = x * 2;
console.log(wynik); // NaN
JavaScript próbował potraktować napis "tekst" jak liczbę, ale konwersja była niemożliwa.
Inny przykład:
console.log(parseInt("abc")); // NaN
console.log(10 / "kot"); // NaN
Kiedy NaN się nie pojawi?
Jeżeli tekst zawiera poprawną liczbę, JavaScript często automatycznie dokona konwersji:
console.log("5" * 2); // 10
console.log("8" - 3); // 5
Ale przy dodawaniu trzeba uważać, bo operator + może oznaczać konkatenację tekstu:
console.log("5" + 2); // "52"
Jak sprawdzić NaN?
Do sprawdzania, czy wynik jest NaN, używa się funkcji isNaN() lub dokładniejszej metody Number.isNaN().
let wynik = "abc" * 3;
console.log(Number.isNaN(wynik)); // true
Ważne na egzaminie
Wartość NaN powstaje, gdy skrypt wykonuje operację liczbową na danych, które nie są poprawną liczbą, np. na zwykłym tekście.