在 TypeScript 中将类型从接口添加到类

问题描述 投票:0回答:1

我有一个像这样的界面:

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() {}
}

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

typescript class interface
1个回答
1
投票

您可以使用 声明合并 通知编译器

Class
实例的接口包含来自
Interface
的成员:

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

new Class().c // any

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

undefined

游乐场链接

© www.soinside.com 2019 - 2024. All rights reserved.