typescript - 在 TypeScript 中将类型从接口添加到类
问题描述
我有一个类似的界面:
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
.
无论如何,希望有所帮助;祝你好运!