[JavaScript] NaN
Zdarzyło Ci się kiedyś otrzymać wartość NaN w wyniku wywołania jakieś funkcji? Jeśli tak i nie wiesz co i dlaczego, to zapraszam do dalszej lektury.
Wartość NaN czyli Not-A-Number jest wartością liczbową, ale nie jest poprawną liczbą. W praktyce oznacza to, że w przypadku błędu w funkcji np. przekazania złych argumentów i wykonania na nich operacji matematycznych lub użycia w niektórych funkcjach/wyrażeniach, zwróci ona właśnie NaN. Spójrz na ten prosty przykład:
function cal(a, b) {
return parseInt(a) + parseInt(b);
}
cal(10, 10); // Zwróci: 20
cal('test', 10); // Zwróci: NaN
W powyższym przykładzie przekazujemy do funkcji cal dwa argumenty. Następnie konwertujemy przekazane argumenty na liczby całkowite i zwracamy ich sumę. Jeśli argumenty są błędne np. przekazany zostanie argument typu string funkcja zwróci wartość NaN.
Kiedy zwracane jest NaN?
Wartość NaN zwracana jest gdy:
- nie uda się konwersja liczb funkcjami takimi jak parseInt, Number;
- nie uda się zwrócić poprawnej wartości funkcjami Math.abs(), Math.sqrt();
- wykonamy działanie takie jak 0 * Infinity, Infinity / Infinity itp;
- w wyrażeniu, któryś operand będzie miał wartość NaN lub będzie do niej skonwertowany;
Wartość NaN zwracana jest jeszcze w innych przypadkach.
Komentarze
Prześlij komentarz
Dzięki za komentarz!