Прежде всего, хочу отметить, что я знаю, как работают isNaN()
и Number.isNaN()
. Я читаю "Определенное руководство" Дэвида Фланагана, и он приводит пример того, как проверить, имеет ли значение NaN
:
x !== x
Это приведет к true
тогда и только тогда, когда x
будет NaN
.
Но теперь у меня есть вопрос: почему он использует строгое сравнение? Потому что кажется, что
x != x
ведет себя одинаково. Безопасно ли использовать обе версии или я пропускаю некоторые значения в JavaScript, которые возвратят true
для x !== x
и false
для x != x
?