javascript - flowtype typeof 类不能按预期工作
问题描述
下面的代码不进行类型检查。错误说:
“无法分配给new YourClass()
,test1
因为YourClass
[1] 与类YourClass
[2] 不兼容。”
/* @flow */
class YourClass {
method(){}
}
let test1: typeof YourClass = new YourClass();
到底是什么意思typeof SomeClass
?
有人可以解释发生了什么吗?
解决方案
typeof YourClass
是构造函数本身的类型,因此进行以下类型检查:
let test1: typeof YourClass = YourClass;
如果您需要传递构造函数并且您的类有子类,这可能很有用,例如
class Subclass extends YourClass {}
let test1: typeof YourClass = Subclass;
推荐阅读
- react-native - 如何更改 Android 的 React Native DateTime Picker 语言环境?
- php - 由于没有可用的匹配包,无法将 PHP 升级到 7.3
- c - 如何在标准C中正确使用双指针(指向指针的指针)作为结构数组?
- python - 当参数被编码时,Fastapi 的行为不同
- javascript - Vue js在v-if内的表格行中输入
- python - 如何使 MissingPermissions 命令处理程序的格式更好?
- javascript - 函数无法使用 useEffect 访问即时状态更改
- postgresql - 我可以假设所有数据库都会返回一个承诺吗?
- amazon-web-services - 如何将 S3 对象从一个 AWS 账户复制到另一个?
- laravel - 从 Laravel 到 Vuejs 的视频接收问题