SobesLab логотип SobesLab

Ответ

Глобальная функция `isNaN` сначала пытается привести переданное значение к числу, а затем проверяет, NaN ли оно. Это приводит к некоторым неожиданным результатам: например, `isNaN("foo")` -> true, потому что `"foo"` преобразуется в NaN. `Number.isNaN` работает строже: он возвращает true только если аргумент уже является типом number и равен NaN. То есть `Number.isNaN("foo")` -> false (строка не является числом). Таким образом, Number.isNaN лучше использовать, когда нужно проверить именно NaN без неожиданных превращений типа.