W JavaScript wynik operacji przyjmie wartość NaN, gdy skrypt próbował wykonać:
Źle. To zwróci poprawny wynik liczbowy.
Dobrze. Działanie na nieliczbowym napisie daje
NaN.Źle. To nie generuje
NaN w typowy sposób.Źle. To zwróci liczbę, nie
NaN.Wartość
NaN (Not a Number) to specjalny wynik oznaczający „to nie jest liczba”. Pojawia się, gdy JavaScript próbuje wykonać DZIAŁANIE ARYTMETYCZNE na czymś, czego nie da się zamienić na liczbę - np. "abc" * 2 albo parseInt("kot"). Co ważne, NaN jest „zaraźliwy”: każde kolejne działanie z jego udziałem też da NaN. Stąd nawyk sprawdzania danych z formularzy funkcją isNaN() przed liczeniem. Zapamiętaj: arytmetyka na nieliczbowym napisie = NaN.Pozostałe sytuacje nie dają
NaN. Działanie na dwóch poprawnych liczbach zwróci normalną liczbę - to przypadek prawidłowy. Sprawdzanie długości napisu (.length) działa też na tekstach i zwraca liczbę, a nie błąd. Użycie parseFloat zamiast parseInt na liczbie po prostu ją sparsuje (różnią się obsługą części dziesiętnej), nie generując NaN. NaN powstaje dopiero przy arytmetyce na nieliczbowym napisie.