如何获取一个 class实例 某些属性的集合:
直接Pick 这个class本身
如何获取一个 class静态属性(static) 某些属性的集合
需要Pick 这个class的type
实际是Pick的 这个 class 的constructor
于是如果想表示一个class的constructor,可以:
class SomeClass {
/**
* @see https://github.com/Microsoft/TypeScript/issues/3841#issuecomment-337560146
*/
['constructor']: typeof SomeClass
static prop = 123
method() {
this.constructor.prop // number
}
}
也就是 typeof XXX 其实相当于 获取了 XXX.constructor。只是无法 使用 XXX.constructor,所以只能用typeof
应该是为了保证 constructor的只可读,不可改吧,或许。