flowtype typeof class 没有按预期工作

flowtype typeof class does not work as expected

下面的代码没有类型检查。 错误说:

"Cannot assign new YourClass() to test1 because YourClass [1] is incompatible with class YourClass [2]."

/* @flow */

class YourClass {
  method(){}
}

let test1: typeof YourClass = new YourClass();

typeof SomeClass 究竟推导出什么?

谁能解释一下这是怎么回事?

typeof YourClass是构造函数本身的类型,所以下面的类型检查:

let test1: typeof YourClass = YourClass;

如果您需要传递一个构造函数并且您的 class 有子class,例如

,这会很有用
class Subclass extends YourClass {}

let test1: typeof YourClass = Subclass;