ここに2つのjavascriptスニペットがあります。私は2つの間の違いを理解することはできません。両方とも新しいインスタンスを可能にするようです。2つのtest1とtest2のjavascriptスニペットの違いは何ですか?
var Test1 = (function() {
function Test1(_x, _y) {
this.x = _x;
this.y = _y; console.log("test1");
}
return Test1;
}());
var Test2 = function() {
function Test2(_x, _y) {
this.x = _x;
this.y = _y; console.log("test2");
}
return Test2;
}();
new Test1(1,2);
new Test2(2,4);
編集:それは私には同じように見えますが、TypeScriptを使用していたので、Type1のようなクラスが生成されました。彼らが一緒に行こうと決めた理由があるはずです。すべての最短コード後に良いですか?それは関数式の代わりに、関数の宣言であるように、発現コンテキストにfunctionステートメント部隊の周りに括弧を置く
おかげ
"*以下の構文を使用することをお勧めします。デファクトスタンダード*" - どのように集めましたか? – Bergi
@Bergiそれは私自身の経験です:)私はめったに他の用途を見ていません。私の言葉を* proof *でサポートするために、私は[SOでのIIFEについてのよくある質問]を見つけました(http://stackoverflow.com/questions/8228281/what-is-the-function-construct-in-javascript) 、回答の95%がこのアプローチを使用しています。私は自分の答えを編集し、これもあまりにも断定的な文章を使用しません。訂正ありがとうございました:) –
本当に[純粋に意見に基づいて](http://stackoverflow.com/a/8774506/1048572)。 – Bergi