В TypeScript есть возможность объявлять переменную, которая может хранить в себе значения двух или нескольких типов данных.
Такая возможность называется - Объединение Типов (Union Type). Union Type - это тоже тип данных, но это - составной тип данных. То есть, это тип данных, который создается на основе комбинирования нескольких других типов данных.
Давайте рассмотрим пример:
Что мы сделали в коде выше? Мы объявили переменную someVariable и указали, что эта переменная может хранить в себе значения только двух типов - строка (string) или же массив строк (string[]).
Присвоив переменной строку или же массив строк, мы не получим ошибки компиляции, так как это удовлетворяет условию - string или string[].
Но если присвоим переменной число 12, то получим ошибку
… так как тип number не объявлен в числе допустимых типов значений для переменной someVariable.