Массивы объектов в TypeScript

Массивы в TypeScript могут содержать в себе не только примитивы, но и объекты определенных типов. Давайте посмотрим на примерах, как работать с такими массивами.

Массив юзеров

Пусть у нас есть интерфейс, задающий юзера:

interface User { name: string, age: number }

Объявим массив, указав в качестве типа его содержимого объекты с юзерами (т.е. объекты, реализующие наш интерфейс):

let arr: User[] = [];

Заполним наш массив данными указанного типа:

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

Массив дат

Объявим массив, хранящий в себе массив дат:

let arr: Date[] = [];

Заполним этот массив датами:

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

Массив DOM элементов

Объявим массив, содержащий в себе дом элементы:

let arr: HTMLElement[] = [];

Заполним наш массив данными:

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

Практические задачи

Сделайте массив, элементы которого будут регулярными выражениями.

Сделайте массив, элементы которого будут промисами.

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