typescript/flow 中的 [type] 是什么意思?

What does the [type] mean in typescript/flow?

我最近偶然发现了我的一个旧代码,我发现我在那里打字不正确。

interface OptionType {
   label: string,
   value: OptionValueType
}

interface Props {
  options: [OptionType] // < this is wrong
}

现在显然,这应该是 OptionType[]Array<OptionType>,但奇怪的是,这里的代码至少根据 linter () 和编译器是有效的语法.

那么,[OptionType]到底代表什么?

我最好的猜测是数组的 index/element,类似于解构,但这感觉很奇怪,因为语法中没有原始数组引用

这是一个元组。它的语法允许您指定一个包含 exactly n 个元素的数组,并为每个元素指定一个类型:

const myTuple: [string, number] = ['foo', 5];