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 回答