【发布时间】:2022-01-22 21:31:25
【问题描述】:
是否可以在 typescript 中定义一个仅应用于以某个单词开头并导致它们具有某种返回类型的方法的接口?我想到了类似的东西:
interface IPattern {
[k: 'handle' + string]?: () => SomeClass
}
这样实现 IPatten 并具有以句柄开头的方法的类将被强制返回 SomeClass 对象,而其他方法则不会,例如:
class ForcedClass implements IPattern{
foo(): number; // ok
handleFoo(): SomeClass; // ok
handleBar(): number; // error
}
我知道可以将抽象类与我需要的所有方法一起使用,但是由于handle + something 的组合用于许多不同的实现,因此为每个实现创建一个抽象会很冗长;
【问题讨论】:
标签: typescript class ecmascript-6 interface