我正在尝试使用约束泛型参数声明TypeScript类。在C#中,以下内容将编译:
public class NewClass<T> where T: BaseClass {
}
什么是TypeScript等价物?
答案 0 :(得分:4)
您正在寻找extends
关键字。您可以在generic参数之后立即使用它将其约束为指定类型的子类型。
所以你的例子的等价物是:
class NewClass<T extends BaseClass> {
// Things...
}
您可以在documentation here中了解有关通用约束的更多信息。
答案 1 :(得分:4)
对于作为基础的类和接口,您必须像这样约束T
:
export class NewClass<T extends BaseClass> {
}
当您从具有implements
的接口派生类时,对于通用约束也是如此,使得此代码成为可能:
export class NewClass<T extends BaseInterface> implements BaseInterface {
}