Век живи - век учись (конечно, не менее, чем шестнадцатеричный). В том числе вещам элементарным.
Я-то полагал, что в «Джаваскрипте» true=="true". Ан нет. Неявное приведение типов работает не так. В соответствии с
третьей редакцией спецификации ECMA-262, булевское значение сначала приводится к числу (в данном случае - к единице), а это число затем - к строке (в данном случае - к «1»; ну, а "1"!="true", это понятно).
…Да, неявные приведения типов это рискованно, а кто-то даже говорит (и я с ними согласен), что плохо. Осознав это несколько лет назад, я принялся переделывать проект, но не успел сделать это полностью,- именно поэтому сегодня в коде встретились не две строки, а значения разных типов.