Индексируемый тип для массивов в TypeScript

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

Посмотрим на практике. Давайте создадим интерфейс IArray, который будет задавать пару ключ-элемент для массива. Укажем, что ключом массива будет число (тут у нас других вариантов и нет), а значением - строка:

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

Теперь объявим переменную arr с нашим индексированным типом:

let arr: IArray;

Зададим нашей переменной значение в виде массива строк:

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

Теперь, если в качестве элементов массива сделать числа, то TypeScript выдаст ошибку:

let arr: IArray = [1, 2, 3]; // ошибка

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



Чат с GPT Компилятор