Индексируем тип за масиви в TypeScript

В TypeScript може да се правят интерфейси, които ще задават типа на двойката ключ-стойност в масиви и обекти. Такъв тип се нарича индексируем.

Да видим на практика. Нека създадем интерфейс IArray, който ще задава двойката ключ-елемент за масив. Ще укажем, че ключът на масива ще бъде число (тук нямаме други варианти), а стойността - низ:

typescriptinterface IArray {
  [index: number]: string;
}

Сега нека декларираме променлива arr с нашия индексиран тип:

typescriptlet arr: IArray;

Нека зададем на нашата променлива стойност под формата на масив от низове:

typescriptlet arr: IArray = ['a', 'b', 'c'];

Сега, ако елементите на масива са числа, TypeScript ще даде грешка:

typescriptlet arr: IArray = [1, 2, 3]; // грешка
Задание 1

Създайте интерфейс, описващ масив със стойности под формата на числа.