首页 > 解决方案 > 在 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() {}
}

有没有办法减少类型定义的重复?

标签: typescriptclassinterface

解决方案


您可以使用声明合并来通知编译器实例的接口Class包含来自Interface

interface Class extends Interface { }
class Class extends OtherClass {
  method() { }
}

new Class().c // any

请注意,这绕过了严格的属性初始化检查,因此如果您未能初始化这些属性,编译器将无法捕获。所以如果你这样做要小心......要么初始化属性,要么确保它们的类型可以是undefined.

无论如何,希望有所帮助;祝你好运!

游乐场链接


推荐阅读