В чем разница между Number.isNaN и window.isNaN

«В чем разница между Number.isNaN и window.isNaN» — вопрос из категории JavaScript, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Number.isNaN и window.isNaN (или просто isNaN) оба проверяют, является ли значение NaN, но работают по-разному:

  1. isNaN – преобразует значение в число перед проверкой. Если преобразование невозможно (например, строка), вернёт true.
  2. Number.isNaN – не преобразует значение, проверяет строго на NaN.

Пример:

isNaN('123abc');      // true (не число после преобразования)
Number.isNaN('123abc'); // false (строка, не NaN)

isNaN(NaN);           // true
Number.isNaN(NaN);     // true

Используйте Number.isNaN для точной проверки.