Масівы аб'ектаў у TypeScript

Масівы ў TypeScript могуць утрымліваць у сабе не толькі прымітывы, але і аб'екты пэўных тыпаў. Давайце паглядзім на прыкладах, як працаваць з такімі масівамі.

Масіў карыстальнікаў

Хай у нас ёсць інтэрфейс, які задае карыстальніка:

typescriptinterface User {
  name: string,
  age: number
}

Аб'явім масіў, указаўшы ў якасці тыпа яго змесціва аб'екты з карыстальнікамі (г.зн. аб'екты, якія рэалізуюць наш інтэрфейс):

typescriptlet arr: User[] = [];

Запоўнім наш масіў данымі указанага тыпа:

typescriptarr.push({name: 'john', age: 30});
arr.push({name: 'eric', age: 40});

Масіў дат

Аб'явім масіў, які захоўвае ў сабе масіў дат:

typescriptlet arr: Date[] = [];

Запоўнім гэты масіў датамі:

typescriptarr.push(new Date(2030, 11, 31));
arr.push(new Date(2020, 11, 31));

Масіў DOM элементаў

Аб'явім масіў, які змяшчае ў сабе дом элементы:

typescriptlet arr: HTMLElement[] = [];

Запоўнім наш масіў данымі:

typescriptlet lst: NodeList = document.querySelectorAll('div');
let arr: HTMLElement[] = Array.from(lst);

Практычныя задачы

Задание 1

Зрабіце масіў, элементы якога будуць рэгулярнымі выразамі.

Задание 2

Зрабіце масіў, элементы якога будуць промісамі.

Задание 3

Зрабіце інтэрфейс, які апісвае работніка. Зрабіце масіў, які складаецца з аб'ектаў з гэтымі работнікамі.