Що таке 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 !== NaN→trueЦе одна з найстранніших особливостей 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
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.