Skip to main content
Практика завдань

Що таке nan у JavaScript?

NaN означає Not-a-Number.

Це спеціальне значення в JavaScript, яке означає, що результат операції не є дійсним числом.

NaN має числовий тип (typeof NaN === "number"), але не є числом в класичному сенсі.


Коли виникає NaN

NaN з'являється в наступних ситуаціях:

javascript
const result1 = 0 / 0; // NaN const result2 = Math.sqrt(-1); // NaN const result3 = parseInt("abc"); // NaN const result4 = "hello" - 5; // NaN

Особливості NaN

  • NaN !== NaNtrue Це одна з найстранніших особливостей JavaScript: NaN ніколи не дорівнює навіть самому собі.
javascript
console.log(NaN === NaN); // false
  • Щоб перевірити, чи є значення NaN, потрібно використовувати спеціальні методи.

Як правильно перевіряти на NaN

МетодОсобливості
isNaN(value)Перетворює значення в число, а потім перевіряє
Number.isNaN(value)Строга перевірка без перетворення — переважно

Приклад:

javascript
isNaN("hello"); // true — тому що "hello" → NaN Number.isNaN("hello"); // false — рядок не є NaN Number.isNaN(NaN); // true

Важливо:

Ніколи не порівнюйте NaN за допомогою ===. Використовуйте Number.isNaN() для точної перевірки.

Висновок

  • NaN — це значення типу число, що означає недійсний числовий вираз.
  • Воно не дорівнює самому собі, що робить його особливим.
  • Використовуйте Number.isNaN() для надійної перевірки.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.

Дочитали статтю?
Практика завдань