Typescript-特定父级的扩展类数组
我有一个抽象类叫做Action: 我有几个扩展动作的类: 如何声明一个扩展了Action但不应该接受Action本身的类数组Typescript-特定父级的扩展类数组,typescript,types,Typescript,Types,我有一个抽象类叫做Action: 我有几个扩展动作的类: 如何声明一个扩展了Action但不应该接受Action本身的类数组 使用返回抽象类而不是抽象类的构造函数签名。抽象类在类型系统中没有构造函数,因此它将无效,但继承抽象类的任何派生类都将有效 abstract class Action { ... } class Vote extends Action { ... } class Upload extends Action { ... } const actions: (new () =
使用返回抽象类而不是抽象类的构造函数签名。抽象类在类型系统中没有构造函数,因此它将无效,但继承抽象类的任何派生类都将有效
abstract class Action { ... }
class Vote extends Action { ... }
class Upload extends Action { ... }
const actions: (new () => Action)[] = [
Vote, // OK (passes)
Upload, // OK (passes)
File, // OK (fails)
Action // Ok now (fails)
]
使用返回抽象类而不是抽象类的构造函数签名。抽象类在类型系统中没有构造函数,因此它将无效,但继承抽象类的任何派生类都将有效
abstract class Action { ... }
class Vote extends Action { ... }
class Upload extends Action { ... }
const actions: (new () => Action)[] = [
Vote, // OK (passes)
Upload, // OK (passes)
File, // OK (fails)
Action // Ok now (fails)
]
const actions: (typeof Action)[] = [
Vote, // OK (passes)
Upload, // OK (passes)
File, // OK (fails)
Action // BAD (passes)
]
abstract class Action { ... }
class Vote extends Action { ... }
class Upload extends Action { ... }
const actions: (new () => Action)[] = [
Vote, // OK (passes)
Upload, // OK (passes)
File, // OK (fails)
Action // Ok now (fails)
]