Как правильно «объединить тип»?

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

Рассмотрим пример, где объединение типов может быть полезным. Предположим, у нас есть два типа данных: тип "строка" и тип "число". Мы хотим создать переменную, которая может содержать какое-либо значение, которое может быть либо строкой, либо числом. Вот как выглядит объединение типов для этой задачи:

let value: string | number;

value = "Hello"; // корректно, так как "Hello" является строкой
value = 123; // корректно, так как 123 является числом
value = true; // ошибка, так как true не является ни строкой, ни числом

В этом примере мы создали переменную value, которая может содержать значения типа "строка" или типа "число". Если мы попытаемся поместить в нее значение, которое не является строкой или числом, TypeScript выдаст ошибку.

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

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