多くの JavaScript 開発者が、次のようなプロパティを単純に返すメソッドを作成していることを発見しました。
function Obj (prop) {
this.prop = prop; // public
}
Obj.prototype.getProp = function () {
return this.prop;
};
prop は公開されており、次のようにアクセスできます。
var a = obj.prop;
さらに、メソッドを使用してオブジェクト プロパティにアクセスすると、直接アクセスするよりも 121 倍遅いことがわかりました (Firefox の場合)。
var a, b,
obj = new Obj(1);
a = obj.prop;
// ~6ns on Chrome
// ~5ns on Firefox
b = obj.getProp();
// ~6ns on Chrome (no difference)
// ~730ns on Firefox (122x slower...)
私の質問は、常にプロパティを返すメソッドを作成する必要があるか、それともプロパティに直接アクセスできるかということです。それはアンチパターンですか?