🔍 Сравнение NaN и undefined



🔹 NaN — это специальное значение, которое представляет "не число". Оно возникает как результат некорректной математической операции. Важно отметить следующие особенности NaN:



Самый заметный "подводный камень" - NaN не равно самому себе. То есть, NaN === NaN вернет false.

Для проверки на NaN лучше использовать функцию isNaN().



🔹 undefined — это специальное значение, которое указывает на то, что переменная была объявлена, но не инициализирована значением.



🧐 Строгое сравнение (===)

При строгом сравнении, тип данных и значение обоих операндов должны быть идентичными.



NaN === NaN – вернет FALSE.

undefined === undefined – вернет TRUE.

NaN === undefined – вернет FALSE, так как NaN и undefined являются различными типами данных.



😃 Нестрогое сравнение (==)

Нестрогое сравнение сравнивает значения, но не учитывает типы данных, что может привести к некоторым неожиданным результатам.



NaN == NaN – вернет FALSE, так как NaN не равно ничему, даже самому себе.

undefined == undefined – вернет TRUE.

NaN == undefined – вернет FALSE, несмотря на то, что сравнение не строгое, NaN и undefined остаются неравными.



#JavaScript #NaN #undefined #ОбучающийПост