【问题标题】:Use the parent class's method types in Typescript在 Typescript 中使用父类的方法类型
【发布时间】:2017-06-20 07:17:47
【问题描述】:

我注意到当你扩展一个类时类型不会流过,我想知道是否有办法在类型定义中强制执行它?这是一些伪代码:

class A {
  render(props: Object) {

  }
}

class B extends A {
  render(props) { <- right now its an any type, I'd like it to inherit from A

  } 
}

我希望是这样的:

class A {
  render(props: Object) {

  }
}

class B extends A {
  render(props: this.props) {

  } 
}

干杯!

【问题讨论】:

标签: class typescript inheritance


【解决方案1】:

您必须再次重新定义该方法的类型。但是,如果你定义一个比基类更宽松的,你会得到一个错误。

这行得通:

class A {
  render(props: string) {

  }
}

class B extends A {
    render(props: string) {

  } 
}

这不是:

class A {
  render(props: string) {

  }
}

class B extends A {
    render(props: number) {

  } 
}

【讨论】:

  • 如果此答案是您一直在寻找的答案,请将其标记为正确答案,以便其他人也知道。 :)
猜你喜欢
  • 1970-01-01
  • 2021-07-28
  • 2018-10-26
  • 1970-01-01
  • 1970-01-01
  • 2020-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多