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

Объекты в значениях своих полей могут содержать не только примитивы, но и массивы. Пусть к примеру у нас есть объект с продуктом, содержащий его название и массив доступных цветов:

let prod: { name: string, colors: string[] };

Давайте запишем в переменную объект указанной структуры:

prod = { name: 'notebook', colors: ['red', 'black', 'gray'] }

Через интерфейс

Давайте посмотрим вариант решения задачи через интерфейс. Сделаем интерфейс для продукта:

interface Product { name: string, colors: string[] };

Создадим объект, указав его типом соответствующий интерфейс:

let prod: Product = { name: 'notebook', colors: ['red', 'black', 'gray'] }

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

Сделайте объект со страной, содержащий название страницы и массив ее городов.