コンストラクタ?

メモ

// ①コンストラクタ
var foo = new (function(){this.foo = 1;})();

// ②コンストラクタ?
var foo2 = (function(){this.foo = 1;return this;)();

①②の違いを調べた。
前者の関数リテラルの中のthisは自身を指していて、後者のthisはブラウザで実行させた場合windowオブジェクトなんだね。
なので②はコンストラクタとは呼びがたいな。