Что означают квадратные скобки вокруг имени интерфейса?

#typescript

#typescript

Вопрос:

По чистой случайности я обратил внимание на следующий код и заметил, что TypeScript считает его допустимым:

 interface AnInterface {
  foobar: string
} 
interface AnotherInterface {
  wtf: [AnInterface]
}
  

Но какого именно типа AnotherInterface['wtf'] ?

Ответ №1:

Это тип кортежа с ровно одним элементом типа AnInterface . По сути, это одноэлементный массив, где единственный элемент имеет тип AnInterface .