假设我有这个界面
interface CanFly {
fly(): void;
}
然后我将创建两个类,分别实现上述接口的Bird
和AirPlane
。
最后,我想创建一个flyIn2Seconds
的函数,如下所示:
function flyIn2Seconds(who: any extends CanFly) {
setTimeout(() => who.fly(), 2000);
}
但是any extends CanFly
不起作用([ts] '?' expected.
)。有没有办法指定类型“任何实现CanFly的类”?
答案 0 :(得分:2)
您只需指定接口:
function flyIn2Seconds(who: CanFly) {
setTimeout(() => who.fly(), 2000);
}
the interfaces documentation中的更多内容。