Загрузка...
Загрузка...
Продолжая работу с платформой, вы принимаете условия Политики конфиденциальности и использование файлов cookie.
NaN расшифровывается как Not-a-Number — "не число".
Это специальное значение в JavaScript, которое означает, что результат операции не является допустимым числом.
NaNимеет числовой тип (typeof NaN === "number"), но при этом не является числом в классическом смысле.
NaNNaN появляется в следующих ситуациях:
const result1 = 0 / 0; // NaN
const result2 = Math.sqrt(-1); // NaN
const result3 = parseInt("abc"); // NaN
const result4 = "hello" - 5; // NaN
NaN !== NaN → true
Это одна из самых странных особенностей JavaScript: NaN никогда не равен даже самому себе.console.log(NaN === NaN); // false
NaN, нужно использовать специальные методы.| Метод | Особенности |
|---|---|
isNaN(value) | Преобразует значение к числу, затем проверяет |
Number.isNaN(value) | Строгая проверка без преобразования — предпочтительнее |
Пример:
isNaN("hello"); // true — потому что "hello" → NaN
Number.isNaN("hello"); // false — строка не NaN
Number.isNaN(NaN); // true
Важно:
Никогда не сравнивайте NaN с помощью ===. Используйте Number.isNaN() для точной проверки.
NaN — это значение типа number, означающее невалидное числовое выражение.Number.isNaN(), а не === NaN.NaN.