当数组必须是一种类型时,为什么 flowjs 不会在空数组上抛出错误?

Why flowjs doesn't throw error on empty array when array must be of a type?

无法理解为什么以下代码会通过流检查:

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

const myFoo: Array<Foo> = []

Array<Foo> 不是强制数组具有某些 Foo 类型吗?

我有点糊涂

流量回复:https://flow.org/try/#0C4TwDgpgBAYg9nKBeKAiAgqqAfNAhLXVAYVQCgyBjOAOwGdgoBbEeOALinQCduBDEAB42APmRQA2gF0yQA

类型Array<Foo>意味着数组中的所有元素必须具有类型Foo。对于空数组 [] 也是如此:此数组中的所有元素都具有类型 Foo。恰好数组中没有元素。 Flow 将强制所有添加到数组的元素都是 Foo.

类型