Каким образом можно определить, содержит ли переменная значение Not-a-Number (NaN)?

В JavaScript (и Node.js) для проверки, содержит ли переменная значение NaN, можно использовать функцию Number.isNaN().

Короткий ответ

Что ответить на собеседовании

В JavaScript (и Node.js) для проверки, содержит ли переменная значение NaN, можно использовать функцию Number.isNaN(). Она возвращает true только если аргумент действительно является NaN, в отличие от глобальной функции isNaN(), которая пытается привести аргумент к числу и может вернуть true для нечисловых значений.

Подробный разбор

Ответ с пояснениями

В JavaScript (и Node.js) для проверки, содержит ли переменная значение NaN, можно использовать функцию Number.isNaN(). Она возвращает true только если аргумент действительно является NaN, в отличие от глобальной функции isNaN(), которая пытается привести аргумент к числу и может вернуть true для нечисловых значений.

Пример:

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

const notANumber = "abc";
console.log(Number.isNaN(notANumber)); // false
console.log(isNaN(notANumber)); // true, потому что "abc" не приводится к числу

Также можно проверить NaN с помощью свойства, что NaN не равен сам себе:

const value = NaN;
console.log(value !== value); // true

Это трюк, который часто используют для проверки NaN.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее