Индексируемый тип для массивов в 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

Интерфейсе созед, ки массиверо бо қиматҳои ба сурати ададҳо тавсиф мекунад.