我最近偶然发现了我的一个旧代码,我发现那里的输入不正确。
interface OptionType {
label: string,
value: OptionValueType
}
interface Props {
options: [OptionType] // < this is wrong
}
现在显然应该是OptionType[]
或Array<OptionType>
,但奇怪的是,这里的代码,至少根据linter(eslint)和编译器都是有效的语法。 / p>
那么[OptionType]
到底代表什么?
我的最佳猜测是数组的索引/元素,类似于解构,但由于语法中没有原始数组引用,因此感觉很奇怪
答案 0 :(得分:5)
这是一个元组。它的语法允许您指定一个确切 n个元素的数组,并为每个元素指定类型:
const myTuple: [string, number] = ['foo', 5];