首页 > 解决方案 > flowtype typeof 类不能按预期工作

问题描述

下面的代码不进行类型检查。错误说:

“无法分配给new YourClass()test1因为YourClass[1] 与类YourClass[2] 不兼容。”

/* @flow */

class YourClass {
  method(){}
}

let test1: typeof YourClass = new YourClass();

到底是什么意思typeof SomeClass

有人可以解释发生了什么吗?

标签: javascriptflowtype

解决方案


typeof YourClass是构造函数本身的类型,因此进行以下类型检查:

let test1: typeof YourClass = YourClass;

如果您需要传递构造函数并且您的类有子类,这可能很有用,例如

class Subclass extends YourClass {}

let test1: typeof YourClass = Subclass;

推荐阅读