请问,typescript里接口继承类,这个功能有什么实际的使用场景?

我感觉接口继承接口 就够用了。
为啥还要来个接口继承类,类里的修饰符那么多,还有构造函数,继承不是要考虑更多的内容?

阅读 1.3k
1 个回答
类定义会创建两个东西:类的实例类型和一个构造函数。 因为类可以创建出类型,所以你能够在允许使用接口的地方使用类。

我认为应该也是为方便扩展吧,比如你需要继承一个 class,
修饰符这块确实需要考虑,class 有 private 成员,那么 interface 继承了,定义约束对象时就会报错。

class Bar {
  private foobar?: number;
}
interface Foo extends Bar {}
const obj: Foo = {
  foobar: 1
};

报错,不能将类型“{ foobar: number; }”分配给类型“Foo”。属性“foobar”在类型“Bar”中是私有属性,但在类型“{ foobar: number; }”中不是。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进