Индексируемый тип для массивов в 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]; // хатогӣ
Интерфейсе созед, ки массиверо бо қиматҳои ба сурати ададҳо тавсиф мекунад.