Программное создание типов объединения в TypeScript: методы и примеры

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

  1. Оператор объединения типов (|):
    Вы можете определить тип объединения с помощью оператора |для объединения нескольких типов. Например:

    type MyUnion = string | number | boolean;
  2. Псевдонимы типов.
    Вы можете использовать псевдонимы типов для создания повторно используемых типов объединения. Например:

    type StringOrNumber = string | number;
    type MyUnion = StringOrNumber | boolean;
  3. Различные объединения.
    Различные объединения полезны, если вы хотите создать тип объединения с общим свойством, которое можно использовать для определения фактического типа. Например:

    interface Circle {
     kind: "circle";
     radius: number;
    }
    
    interface Square {
     kind: "square";
     sideLength: number;
    }
    
    type Shape = Circle | Square;
  4. Защита типов.
    Защита типов позволяет сузить тип объединения на основе проверок во время выполнения. Вы можете использовать typeof, instanceofили собственные предикаты типов для выполнения проверок типов. Например:

    function logValue(value: string | number) {
     if (typeof value === "string") {
       console.log("String: " + value);
     } else {
       console.log("Number: " + value);
     }
    }