1

Подскажите, если здесь true

"" == 0; // true
"0" == 0; // true

то почему здесь false ?

"" == "0"; // false
Kromster
  • 13,809
  • приведение типов ... когда строка сравнивается со строкой, приведения типов не происходит, так как тип у них один в итоге пустота сравнивается с нулем и это неверно – MedvedevDev Aug 29 '17 at 10:32
  • почитай про строгое и нестрогое сравнение в js, а так же про приведение типов – Artsiom Aug 29 '17 at 10:33
  • Спасибо! Я думал, что они в любом случае к числу приводятся – Alex Kern Aug 29 '17 at 10:38
  • потому что в первом случае, ты сравниваешь два разных типа и при нестрогом сравнении, они true... а во втором случае, ты сравниваешь одного типа , а как известно пустая строка всегда false, а не пустая true... так что второй вариант идентичен false == true... естественно это false – Air Aug 29 '17 at 10:42
  • Да, понял, спасибо!! – Alex Kern Aug 29 '17 at 10:49

0 Answers0