Union Types

Union Types stellen Werte dar, die einen von mehreren Typen darstellen können.

const printId = (id: number | string) => {
  console.log(`ID: ${id}`);
}

Der senkrechte Strich kann als "oder" gelesen werden. Dies ist nützlich, wenn du mehrere Typen akzeptieren willst.


Du kannst auch einen benannten Union-Typ deklarieren.

type Id = number | string;

Diesen kannst du dann wie einen normalen Type verwenden.

const printId = (id: Id) => {
  console.log(`ID: ${id}`);
}

Union Types sind auch bei literalen Typen oft nützlich.

type Direction = "left" | "right" | "up" | "down";

const move = (direction: Direction) => {
  console.log(`Moving ${direction}`);
}

Mit Union Types können wir auch Objekte verwenden.

type Vehicle = { hasWheels: boolean } | { canFly: boolean };

const car: Vehicle = { hasWheels: true };
const airplane: Vehicle = { canFly: true };
const flyingCar: Vehicle = { hasWheels: true, canFly: true };

Zuletzt aktualisiert