[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

Popular

[HTML] Jak wstawić obrazek?

[C++] Jak obliczyć pole i obwód trapezu?

[JavaScript|Node.js] Generowanie kodów QR w Node.js z użyciem biblioteki qrcode