私の "Foo"クラスのプロパティにアクセスしようとしています。 this
コンテキストが、私はmyname
にアクセスするための推奨方法を探していますTestClass.get
JavaScriptクラスのアクセスの親プロパティ
んではありませんので、TestClass.get.name
にmyname
プロパティが存在しないことを
class Foo {
constructor(myname) {
this.myname = myname;
}
}
Foo.prototype.get = {
name() {
return this.myname;
}
};
const TestClass = new Foo('Steven');
TestClass.get.name(); // undefined
そのクリア:私のコードは次のようになります。 Smthのような:Parent.myname。
これは、あなたの 'this'がインスタンスではなく' get'を指しているからです。また、オブジェクトがプロトタイプ – Rajesh
にあるという悪い考え方 'get'をオブジェクトにしたい場合は、コンストラクタで' this.get = {...} 'を実行できます。 *親*コンテキスト内の変数にアクセスする固有の方法はありません。 –
getプロパティを使用して実際にアクセスしたい場合、プロトタイプはすべてのインスタンス用であるため、getをプロトタイプに追加することはできません。しかし、あなたはオブジェクトにgetを追加することができます、そして、このgetはクラスでもあります。 – Keith