Sobes.tech
Middle

Czym jest NaN i w jakich przypadkach się pojawia?

sobes.tech AI

Odpowiedź od AI

NaN (Not a Number) — to specjalna wartość w JavaScript, która oznacza wynik operacji, która nie jest liczbą. Pojawia się, gdy operacja matematyczna lub konwersja nie może zwrócić poprawnej wartości numerycznej.

Przykłady sytuacji, gdy pojawia się NaN:

  • Dzielenie 0 przez 0: 0 / 0.
  • Konwersja nie-liczbowego ciągu znaków na liczbę: Number('abc').
  • Wynik niepoprawnych operacji matematycznych, np. pierwiastkowanie ujemnej liczby: Math.sqrt(-1).

Ważne, aby pamiętać, że NaN nie jest równy samemu sobie (NaN !== NaN), dlatego do sprawdzania używa się funkcji isNaN() lub Number.isNaN().

console.log(0 / 0); // NaN
console.log(Number('abc')); // NaN
console.log(Math.sqrt(-1)); // NaN
console.log(NaN === NaN); // false
console.log(Number.isNaN(NaN)); // true