我来自TypeScript的世界,所以我有点困惑为什么以下不会失败。
class Bar {
foo: string
}
let bar = new Bar();
let test = bar.foo;
test = 4; // all is good here, while it should fail!

答案 0 :(得分:0)
它被称为类属性语法https://flow.org/en/docs/types/classes/
在你的例子中
class Bar {
foo: string // not defined
}
let bar = new Bar()
let test = bar.foo // Copy value not type, should use let test: string = bar.foo
test = 4
答案 1 :(得分:0)
您的代码不会失败,因为您基本上已将变量application.properties
定义为test
。分配值时,不会在变量之间传递类型。
如果要将变量any
强制为类型test
,则应定义其类型。
string
这会抛出以下错误
let test: string = bar.foo; // ok
test = 4; // flow error