Typescript: how to return subclass type from inherited static property?
问题 class BaseDoc { static Collection; static find(){ // which is expected to return an instance of SubDoc when run SubDoc.find() return this.Collection.find(); } } class SubDoc extends BaseDoc {} What I hope is: When running SubDoc.find(), the app knows the type of the return value to be an instance of SubDoc rather than BaseDoc. How can I achieve that? 回答1: You can create a generic version of find that will have the this parameter inferred to the type of the class it's being called on, and use