Если я делаю 0 == "0", он получает значение true. Попробуйте,
if( -777 == "-777" ) alert("same");
появляется предупреждение.
И также заметно, что true == "true" не оценивает true. Попробуйте,
if( false == "false" ) alert("same");
предупреждение не происходит.
Почему это так?