Number.isNaN(): распознавание NaN
Number.isNaN определяет, является ли значение специальным числовым результатом NaN.
Назначение
Number.isNaN определяет, является ли значение специальным числовым результатом NaN.
Как это работает
Метод не преобразует аргумент. Строка с буквами сама по себе не NaN; NaN может получиться после неудачного числового преобразования. Обычное сравнение NaN===NaN даёт false.
Пример
console.assert(Number.isNaN(Number('abc')));
console.assert(!Number.isNaN('abc'));
console.assert(Number.isNaN(0/0));
console.assert(!(NaN===NaN));
Что должно получиться
Только настоящее значение NaN проходит проверку. Исходная строка остаётся строкой, даже если её нельзя корректно преобразовать в обычное число.
Граница применения и частая ошибка
Не используйте x===NaN для проверки ошибки вычисления. И не смешивайте Number.isNaN с глобальным isNaN, который имеет другое поведение преобразования типов.
Самостоятельная проверка
Сравните строку "abc" до и после Number. Затем вычислите 0/0 и проверьте результат через Number.isNaN, не заменяя проверку строковым сравнением.
JavaScript в песочнице этого сайта не выполняется. Перенесите пример в отдельный учебный файл. Сначала проверьте исходный результат, затем измените входные данные; ошибка проверки означает, что результат отличается от ожидаемого.