NaN?NaN расшифровывается как "Not a Number" (не число) и представляет собой специальное значение в JavaScript, которое обозначает результат недопустимой или неопределённой математической операции.
NaN обычно возникает в таких ситуациях:
0 / 0parseInt("abc")undefined: 5 + undefinedMath.sqrt(-1)Одно из самых важных и удивительных свойств NaN состоит в том, что NaN никогда не равно самому себе:
NaN === NaN // false
NaN !== NaN // true
Это означает, что стандартные проверки на равенство нельзя использовать для обнаружения NaN.
NaNЕсть два встроенных метода для проверки NaN:
Number.isNaN(value) — предпочтительный современный подход; строго проверяет, что значение точно равно NaN, без приведения типовisNaN(value) — старая глобальная функция; приводит значение к числу перед проверкой, что может давать неожиданные результатыisNaN("hello") // true (сначала приводит "hello" к NaN)
Number.isNaN("hello") // false (нет приведения; "hello" не является NaN)
Всегда используй Number.isNaN() для надёжного определения NaN — это позволяет избежать неожиданного поведения из-за неявного приведения типов.
NaN === NaN возвращает true, потому что NaN — это уникальное значение в JavaScript, которое всегда равно самому себе.
Новый — ещё не проверен сообществом
Вы