当数组必须为某种类型时,为什么flowjs不会在空数组上引发错误?

时间:2019-11-01 14:10:22

标签: flowtype

不明白为什么以下代码通过了流检查:

type Foo = "A" | "B" | "C"

const myFoo: Array<Foo> = []

Array<Foo>是否将数组强制为某种Foo类型?

我有点困惑。

流量代表:https://flow.org/try/#0C4TwDgpgBAYg9nKBeKAiAgqqAfNAhLXVAYVQCgyBjOAOwGdgoBbEeOALinQCduBDEAB42APmRQA2gF0yQA

1 个答案:

答案 0 :(得分:0)

类型Array<Foo>表示数组中的所有元素都必须具有类型Foo。对于空数组[],这是正确的:此数组中的所有元素都具有类型Foo。碰巧数组中没有元素。 Flow将强制所有添加到数组中的元素将为Foo类型。