В руководстве по стилю JavaScript в Google говорится, что он не использует объекты-оболочки для примитивных типов. В нем говорится, что это "опасно" для этого. Чтобы доказать свою точку зрения, он использует пример:
var x = new Boolean(false);
if (x) {
alert('hi'); // Shows 'hi'.
}
Хорошо, я сдаюсь. Почему здесь выполняется код if?