Przejdź do głównej treści
  1. Strona główna
  2. Słownik
  3. INF.03
  4. NaN w JavaScript

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.