2

ecmascript 候補仕様では、次のようなクラス フィールドを宣言できます。

class A {
    foo;
}

または次のような値の割り当てを使用します。

class A {
    foo = 'abc';
}

MDN のパブリック インスタンス フィールドの仕様

クラスメソッドを反映できるのと同様の方法で、クラス宣言から宣言されたフィールド名 (および割り当てられた値) のリストを反映する方法はありますか? :

class B {
    foo = 'abc';
    boo() {}
}
Object.getOwnPropertyNames(B.prototype) // => ["constructor", "boo"]
4

1 に答える 1

0

私が検索したものから、スコープ内の変数の値にアクセスするには、クラス自体のインスタンスを作成する必要があります。

したがって、次のようにすれば、いつでもコンストラクターのデフォルト値をリストできます。

class B {
    foo = 'abc';
    boo() {}
}
Object.getOwnPropertyNames(new B) // => ["foo"]

あなたの質問の解決に役立つことを願っています

于 2020-09-22T12:47:55.590 に答える