2017-10-12 5 views
0

コンストラクタが呼び出されたときに定義されるクラスのすべてのプロパティにアクセスしたいので、そのクラスのための一種のインターフェイスを実装できます。クラスを初期化せずにクラスプロパティにアクセスできますか?

私はプロパティーhelloを定義するクラスを持っていましたが、それがアクセスされていることを確認するためにアクセスしたいと思います。問題は、static以外のすべてのクラスプロパティがインスタンスに結びついているため、クラスをインスタンス化せずに取得できないため、できません。

この場合、helloにアクセスできますか?この状況で

class MyClass { 
    constructor() { 
     this.hello = 'greetings'; 
    } 
} 
+3

インスタンスを使用しないインスタンスプロパティにアクセスします。定義すると、そうすることはできません。これはXYの問題のように聞こえる - 実際に達成しようとしているのは何ですか* – Jamiec

+1

JavaScriptは動的言語です。あなたは静的なものを求めているようです。 TypeScriptは必要なものを提供するかもしれません。 – glennsl

+1

_ "私はできません。" – guest271314

答えて

3

、それはhelloにアクセスすることは可能でしょうか?

JavaScriptパーサーを使用していないと(IDEがインスタンスインスタンスを推測しようとしているように)あなたが言うように、helloは、インスタンスが作成されるまで、またはインスタンスが作成されない限り、プロパティとして存在しません。パーサーを使用すると、プロパティ名が何であるかを決めることができます(通常は初期値)。

+0

パーサーであっても、 'this [some + expression] = 'value''はまだ可能で、基本的にはキャッチすることができません。 – deceze

+0

@deceze:したがって、 "通常" :-) –

+0

または 'let self = this; self.foo = 'bar'; '...申し訳ありません、ここにいろいろなシナリオを載せています... :) – deceze

関連する問題