Итак, есть так называемый шаблон модуля для создания синглетонов с закрытыми членами:
var foo = (function () {
var _foo = 'private!';
return {
foo: function () { console.log(_foo); },
bar: 'public!'
}
})();
Есть также этот метод, который я нашел самостоятельно, но не видел ничего написанного о:
var foo = new function () {
var _foo = 'private!';
this.bar = 'public!';
this.foo = function () { console.log(_foo); };
}
Я думаю, что должна быть причина, почему никто не пишет об этом, в то время как есть множество статей о шаблоне модуля. Есть ли обратная сторона этого паттерна? Скорость или совместимость браузера возможно?