Как добавлять вложенности типов?

В TypeScript, как и в JavaScript, можно использовать вложенные типы для создания более сложных структур данных. Вложенные типы позволяют определить типы внутри других типов, отражая иерархическую структуру данных.

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

type Person = {
  name: string;
  age: number;
  address: {
    street: string;
    city: string;
    postalCode: string;
  };
};

В данном примере мы определяем тип Person, который имеет свойства name типа string, age типа number и address типа объекта с вложенными свойствами street, city и postalCode, каждое из которых имеет тип string. Таким образом, мы создаем иерархическую структуру типа Person, которая отражает структуру данных человека с их именем, возрастом и адресом.

Также можно использовать вложенные типы при определении интерфейсов. Например:

interface Person {
  name: string;
  age: number;
  address: {
    street: string;
    city: string;
    postalCode: string;
  };
}

Использование вложенных типов также применимо к массивам. Например:

type Numbers = number[];

type Matrix = number[][];

В этом примере мы определяем тип Numbers, который представляет собой массив чисел, и тип Matrix, который представляет собой массив массивов чисел, что отражает матричную структуру данных.

В итоге использование вложенных типов в TypeScript позволяет создавать более сложные структуры данных, отражая иерархию или связи между различными типами. Они улучшают читаемость кода, делая его более понятным и позволяют использовать сильную типизацию для предотвращения ошибок во время разработки.