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

问题描述 投票:0回答:1

无法理解以下代码为何通过流程检查:

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

const myFoo: Array<Foo> = []

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

我有点困惑。

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

flowtype
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.