我正在使用// @flow strict
,但是在使用this
时,它在某种对象常量中无法正常工作。 this
似乎被解释为任意。
这是示例代码
type TestType = {
arr: Array<number>,
fun: () => void,
}
const testObject: TestType = {
arr:[],
fun(){
this.arr.toUpperCase();
}
}
testObject.fun();
我如何告诉流知道this.arr.toUpperCase()
是不存在的,因为this.arr
是一个数组?
答案 0 :(得分:1)
似乎no way在函数中明确定义了this
类型:
在Flow中,您无需输入注释,然后Flow会检查您使用该函数调用的上下文。
作为解决方法,您can do something like::
const testObject: TestType = {
arr:[],
fun(){
const {arr}: TestType = this;
arr.toUpperCase();
}
}
testObject.fun();