Что [тип] означает в машинописи / потоке? - PullRequest
1 голос
/ 13 января 2020

Я недавно наткнулся на мой старый код, и я заметил, что там неправильно набрал.

interface OptionType {
   label: string,
   value: OptionValueType
}

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

Теперь, очевидно, это должно было быть OptionType[] или Array<OptionType>, но, как ни странно, код здесь, по крайней мере в соответствии с linter () и компилятором, является допустимым синтаксисом.

Итак, что именно представляет [OptionType]?

Моим лучшим предположением будет индекс / элемент массива, похожий на деструктуризацию, но это кажется странным, поскольку в синтаксисе нет исходной ссылки на массив

1 Ответ

5 голосов
/ 13 января 2020

Это кортеж. Его синтаксис позволяет указывать массив с точно n элементами и указывать тип для каждого:

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