Sobes.tech
Middle

Co je NaN a v jakých případech vzniká?

sobes.tech AI

Odpověď od AI

NaN (Not a Number) — je speciální hodnota v JavaScriptu, která označuje výsledek operace, jež není číslem. Objevuje se, když matematická operace nebo převod nemůže vrátit správnou číselnou hodnotu.

Příklady případů, kdy se NaN objeví:

  • Dělení 0 dvěma nulami: 0 / 0.
  • Převod nečíselného řetězce na číslo: Number('abc').
  • Výsledek nesprávných matematických operací, například výpočet druhé odmocniny záporného čísla: Math.sqrt(-1).

Je důležité si uvědomit, že NaN není rovno sobě (NaN !== NaN), proto se pro kontrolu používají funkce isNaN() nebo 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