new function(){}と(function(){})()の違い
(function(){})() の代わりに - IT戦記関連
カップリングとか言われたのでのっかりコネタ。
(function(){ this; // object global })() new function() { this; // object object }
- (function(){})()
- thisがglobal(ブラウザだったらwindowオブジェクト)
- returnしたものを返す。
- new function(){}
- thisが自分自身(実行しているのがコンストラクタだから)
- thisを返す。
他になんかあったっけ?とりあえず両者を区別しなくても困るケースは思いつかない。