Что такое NaN? Как определить, что значение равно NaN?

NaN (Not-a-Number) — это специальное значение в программировании, которое используется для представления чисел, результат которых неопределен или не может быть выражен в числовом формате. Например, деление 0 на 0 или результат корня из отрицательного числа.

Как определить, что значение равно NaN?

В JavaScript есть специальная функция для проверки, является ли значение NaN:

isNaN(value)

Однако есть важный момент: NaN не равен самому себе, что делает его уникальным среди значений. Чтобы точно проверить, является ли значение NaN, рекомендуется использовать:

Number.isNaN(value)

Эта функция работает более строго и не преобразует переданный аргумент в число перед проверкой.

Пример:

console.log(NaN === NaN); // false
console.log(isNaN(NaN)); // true
console.log(Number.isNaN(NaN)); // true

Источники NaN

Значение NaN может появиться в нескольких случаях, например:

  • Результат недопустимых математических операций, таких как деление 0 на 0
  • Преобразование нечислового значения в число, например, при использовании функции parseInt на строке, которая не содержит чисел