これが私のjavascriptオブジェクトです。プロトタイプで「this」を何度も使用しないようにする方法を知りたいです。プロトタイプの継承には多くの理論とリンクがあることを私は知っており、これはおそらくすでに答えられていますが、私はすべての目的を達成することができなかったので、これは別の質問の価値があるかもしれないと思いました。
function shape(smth) {
this.a = smth
this.b = 2
this.c = 3
}
shape.prototype.doCalculus = function () {
return this.a * this.b + this.c - (2 * (this.b + this.c) + this.a);
}
module.exports = shape
オブジェクトのパブリックメンバーが必要な場合は、this
ポインターから参照する必要があります。これが、JavascriptでOOが機能する方法です。代替手段はありません。
関数内に同じ変数への参照がたくさんある場合は、参照ロジックを保存するためだけに一時的にローカル変数に入れることができます(複数ステップの参照と同じ)が、最初はを使用して取得する必要がありますthis.varName
。
コンストラクタークロージャで「プライベート」メンバー変数を使用し、一部の状況で使用できるプロトタイプを使用しないスキームがあります。これにより、次を使用せずに変数を直接参照できますthis
。
function shape(smth) {
var a = smth,
b = 2,
c = 3;
this.doCalculus = function() {
return a * b + c - (2 * (b + c) + a);
}
}
module.exports = shape
多数のインスタンスを作成するオブジェクトタイプの場合、メソッドは共有プロトタイプに保存されないため、メモリを少し消費する可能性がありますが、インスタンスごとに個別に作成されます。ほとんどの用途で、メモリ消費量の違いは重要ではないと主張する人がいます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加