"new Boolean(true)" это тоже примитивный тип? Наверное, там что-то вроде того:
function Object(item) {
if (item != null) {
return new item.constructor(item);
}
/* ..... */
}
UPD: хотя нет, если бы так, то alert срабатывал бы больше одного раза:
function Foo() {
alert('Foo');
}
var foo = new Foo();
Object(foo);
new Object(foo);