Я узнаю о == vs. === и наткнулся на этот ответ, который очень помог в понимании концепции. Однако я задавался вопросом об одном из примеров:
'0' == false     // true
Это может иметь смысл, поскольку == не проверяет тип. Но затем я попробовал некоторые возможные принуждения в консоли и нашел следующее:
Boolean('0')     // true
String(false)    // "false"
Я бы подумал, что '0' == false имеет то же значение истинности, что и '0' === String(false), но это, похоже, не так.
Итак, как действует принуждение? Есть ли более простой тип, который мне не хватает?
