我有一个类,我在构造函数中声明了几个属性。
class DevModuleLookup {
constructor() {
this.kGlobal = 'z'
this.kHelpMessage = '...'
}
...
}
我收到流量错误
property `kGlobal`. Property not found in DevModuleLookup
我可以使用类属性,但它们仍然是第2阶段的ATM,直到它们到达第3阶段才能使用它们。
有什么建议吗?
答案 0 :(得分:3)
对于要进行类型检查的代码,您需要在类体中声明类型,例如
class DevModuleLookup {
kGlobal: string;
kHelpMessage: string;
constructor() {
this.kGlobal = 'z'
this.kHelpMessage = '...'
}
}
Flow已经为ES类采用了部分提议的类属性语法,允许在类体中命名属性。
即使您不想自己使用类属性,因为它们是提案而不是官方语言的一部分,您仍然可以在没有= ...
任务的情况下使用上面的注释,并且它们将会只是被剥离出来的方式与Babel删除任何其他Flow类型注释相同(假设您已启用flow
预设)。