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