Как правильно задать объединение типов (union)?

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

Например, предположим, что у нас есть интерфейс "Person", который содержит два свойства - "name" и "age":

interface Person {
  name: string;
  age: number;
}

Теперь допустим, что у нас есть еще один интерфейс "Employee", который также содержит два свойства - "name" и "jobTitle":

interface Employee {
  name: string;
  jobTitle: string;
}

Если нам нужно создать переменную, которая может быть как типа "Person", так и типа "Employee", мы можем объединить эти типы с помощью оператора "|":

let personOrEmployee: Person | Employee;

Теперь переменная "personOrEmployee" может принимать значения как типа "Person", так и типа "Employee". Это означает, что она может содержать любой объект, который соответствует хотя бы одному из этих интерфейсов.

personOrEmployee = { name: "John", age: 25 }; // Тип: Person
personOrEmployee = { name: "Jane", jobTitle: "Manager" }; // Тип: Employee

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