Funkcja isNaN() w JavaScript
Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
isNaN() sprawdza, czy podana wartość nie jest liczbą. Nazwa pochodzi od angielskiego is Not a Number.
Funkcja zwraca:
- true — gdy wartość nie może być traktowana jako liczba,
- false — gdy wartość jest liczbą albo może zostać przekonwertowana na liczbę.
Przykłady
isNaN(10); // false
isNaN("10"); // false, bo tekst "10" można zamienić na liczbę
isNaN("abc"); // true
isNaN(NaN); // true
W pytaniach egzaminacyjnych często pojawia się zapis:
!isNaN(x)
Operator ! oznacza negację, więc warunek !isNaN(x) jest spełniony wtedy, gdy x jest liczbą lub może być potraktowane jak liczba.
Połączenie z warunkiem dodatniości
if ((!isNaN(x)) && (x > 0)) {
// instrukcje
}
Ten warunek oznacza: wykonaj instrukcje, jeśli x jest wartością liczbową oraz jest większe od zera.
Uwaga praktyczna
Globalna funkcja isNaN() wykonuje konwersję typów, dlatego np. isNaN("5") zwróci false. W nowoczesnym kodzie często stosuje się Number.isNaN(), ale w zadaniach egzaminacyjnych zwykle chodzi o klasyczne działanie isNaN().