Как это объяснить? и false и undefined являются ложными типами, но в нестрогом сравнении они не равны друг другу(
Asked
Active
Viewed 57 times
0
-
когда используется не строгое сравнение оба значения должны иметь значения приводымие в true или false, но undefined и null имеют только одно значение - это undefined и null, соответственно, и такое сравнение всегда будет давать false – InDevX Sep 02 '21 at 15:34
-
Но, они двоем приводятся к false, скриншот приложил. false == false ведь = true – salco202020 Sep 02 '21 at 15:38
-
они не приводятся – InDevX Sep 02 '21 at 15:49
2 Answers
2
При нестрогом сравнении null и undefined равны друг другу и не равны никаким другим значениям. Это специальное правило языка. Соответственно они не могут быть равны false.
При строгом, они не равны друг другу, так как это разные типы данных.
V-tyna
- 91
- 5
1
Так решили авторы JavaScript ¯\_(ツ)_/¯
А вот полная табличка истинности сравнений:
// источник https://algassert.com/visualization/2014/03/27/Better-JS-Equality-Table.html
Kromster
- 13,809
-
1Похоже разрабы JS стремились нарисовать стрелочку в приведении типов)) – Алексей Шиманский Sep 02 '21 at 15:42

