【发布时间】:2020-09-10 05:52:20
【问题描述】:
我正在尝试实现一个基类,它将字符串类型的并集作为泛型类型,然后在抽象方法中使用以这些字符串作为键的字典。
抽象方法的子实现在向其传递附加属性时不会抛出类型错误(但如果属性没有传递给它,则会正确抛出错误):
abstract class Parent<T extends string = string> {
abstract doSomethingWithT(options: { [key in T]: string }): void;
}
class Child extends Parent<"foo" | "morefoo"> {
/**
* Would like to error on 'bar'
*/
doSomethingWithT(arg: { foo: string; morefoo: string; bar: string }) {
}
}
有没有在 Typescript 中实现这个功能的好方法?
【问题讨论】:
标签: typescript