如何在不实例化的情况下列出类的属性?
例:
class User {
constructor({ id_user, first_name }) {
this.props = {
id_user,
first_name
}
}
}
// Obviously won't work but you get the point
console.log(User.props) // should log id_user, first_name
没有实例化该类的对象,实际上没有合法的方法可以做到这一点。
说到这一点,你可以做的是获取实际的字符串,即使用User.toString()
描述这个类的代码,然后使用正则表达式从那里开始。
有点。
任何getter,setter和方法都可以这样枚举:
class Foo {
constructor () {}
get bar () { return 3; }
baz (val) { return val + this.bar }
}
Object.getOwnPropertyDescriptors(Foo.prototype); // lists constructor, bar, baz
但是你在构造函数中分配属性的方式没有。