在TypeScript中键入类

时间:2018-03-30 02:17:19

标签: typescript

我在TypeScript中有一个接口或抽象类,我有一大堆实现/扩展接口/类的类,我想从所有子类的构造函数中创建一个数组,但我想要数组类型为接口/超类。这可能吗?

所以,如果我有:

export interface Section {
    somePropName: string;
}

或:

export class AbstractSection {
    somePropName: string;
}

然后我有:

arrayOfClasses: any[] = [
    SectionSubclass1,
    SectionSubclass2,
    SectionSubclass3,
    SectionSubclass4,
    SectionSubclass5,
];

我可以将arrayOfClasses输入any[]以外的任何其他内容吗?我想尽可能具体。我知道在ActionScript中你至少可以Vector.<Class>,而在Haxe中你可以Array<Class>,但在TypeScript中你甚至不能输入Class,AFAIK。

1 个答案:

答案 0 :(得分:3)

如果你想存储课程:

cumsum(x > 30) + 1
#[1] 1 1 1 2 2 2 2 3 4 4 4 4

如果要存储类的实例或接口的实现:

arrayOfClasses: Array<typeof AbstractSection> = [...];