我有一个像这样的界面:
interface Interface {
a: any
b: any
c: any
d: any
e: any
f: any
etc: any
}
还有一堂课:
class Class extends OtherClass implements Interface {
a: any
b: any
c: any
d: any
e: any
f: any
etc: any
method() {}
}
有没有办法减少类型定义的重复?
您可以使用 声明合并 通知编译器
Class
实例的接口包含来自 Interface
的成员:
interface Class extends Interface { }
class Class extends OtherClass {
method() { }
}
new Class().c // any
请注意,这会规避严格的属性初始化检查,因此如果您未能初始化这些属性,编译器将无法捕获。 因此,如果您这样做,请务必小心...要么初始化属性,要么确保它们的类型可以是
undefined
。