Вопрос проверяет понимание особенностей числовой модели JavaScript и стандарта IEEE 754.
Короткий ответ
NaN означает “не число” и по спецификации не равен ничему, включая самого себя. Это сделано для отражения ошибок вычислений, а не конкретного значения. Поэтому любое сравнение NaN через == или === возвращает false. Для проверки NaN используются специальные методы.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.