【发布时间】:2016-10-03 18:21:25
【问题描述】:
我正在尝试在 Typescript 中解决这个特定情况:
abstract class foo {
abstract bar();
}
class Foo1 extends foo {
bar() {
alert(1);
}
y: number = 3;
}
class Foo2 extends foo {
bar() {
alert(2);
}
}
let myFooClasses: Array<typeof foo> = [];
myFooClasses.push(Foo1);
myFooClasses.push(Foo2);
myFooClasses.forEach((item) => {
let a = new item();
a.bar();
})
具体来说,问题在于myFooClasses 在技术上可能包含抽象的foo,Typescript 对此发出警告。但我真的想将myFooClasses 的类型限制为继承自foo 的具体类。有什么方法可以在 Typescript 中指定这个吗?
【问题讨论】: