如何为返回实例本身添加JavaScript Flow注释?

时间:2017-06-01 19:52:16

标签: javascript annotations

我有以下es6课程:

// @flow
class MyClass {

  _active: bool

  setActive(value: bool) { // return type should be class if instance
    this._active = value
    return this
  }
}

class MySub extends MyClass {
  // something
}

如果setActive()可能返回MyClass或任何SubClasses,我该如何定义它的返回类型? MyClass对于子类也是正确的吗?

1 个答案:

答案 0 :(得分:0)

感谢到目前为止,在得到流量问题后,我得到了答案:https://github.com/facebook/flow/issues/4135

因此返回的流类型也应定义为this

// @flow
class MyClass {

  _active: bool

  setActive(value: bool): this { 
    this._active = value
    return this
  }
}

class MySub extends MyClass {
  // something
}