JavaScript でいくつかのスタイルを見てきました。読みやすさ、最適化、変数のスコープに関して、それらの違いに興味があります。長所と短所をいただければ幸いです。
方法 A:
function MyObj(options) {
this.options = options;
}
MyObj.prototype.getOptions = function() {
return this.options;
};
方法 B:
var MyObj = (function() {
function MyObj(options) {
this.options = options;
}
MyObj.prototype.getOptions = function() {
return this.options;
};
return MyObj;
})();
ラッパーは IE で名前付き関数を処理するためのものだと誰かが言ったことがあります。ラッパーを配置することで、オブジェクトに対して静的になる変数と関数を区分化できることに気付きました。
ただし、ラッピングが非効率的または奇妙であるという不満も多くありました。また、CoffeeScript はメソッド B にコンパイルします。では、ベスト プラクティスである JS を手動で記述する場合、どのような場合に 1 つのメソッドを別のメソッドよりも優先して使用する必要があるのでしょうか?