0Pricing
TypeScript Academy · Lektion

Union-Typen: A oder B

Verwenden Sie |, um mehrere mögliche Typen zuzulassen.

Union-Typen: A oder B ist eine kostenlose TypeScript Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des TypeScript Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der TypeScript Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

Union-Typen ermöglichen, dass ein Wert einen von mehreren Typen haben kann. Sie werden mit dem Operator `|` geschrieben und sind grundlegend für die Modellierung realer Daten.

Grundlegende Union-Syntax

Kombinieren Sie zwei oder mehr Typen mit `|`. Eine Variable mit einem Union-Typ kann einen beliebigen der aufgeführten Typen enthalten.
let id: string | number;
id = 'abc123'; // OK
id = 42;       // OK
// id = true;  // Error

Union in Funktionsparametern

Akzeptieren Sie in einer Funktion mehrere Eingabetypen, indem Sie einen Union-Typ für den Parameter verwenden.
function format(val: string | number): string {
  return typeof val === 'string' ? val.toUpperCase() : val.toFixed(2);
}

Eingrenzung für Union-Mitglieder erforderlich

Ohne Eingrenzung können Sie nur Methoden aufrufen, die allen Union-Mitgliedern gemeinsam sind. Für typspezifische Methoden müssen Sie den Typ zuerst eingrenzen.
function process(val: string | number) {
  // val.toFixed(2); // Error — not on string
  if (typeof val === 'number') {
    val.toFixed(2); // OK
  }
}

Union mit Literal-Typen

Union-Typen aus Literalwerten erzeugen eine enumartige Menge zulässiger Zeichenketten- oder Zahlenwerte.
type Direction = 'north' | 'south' | 'east' | 'west';
type StatusCode = 200 | 201 | 400 | 404 | 500;

Union für nullable Typen

Die häufigste Union ist `T | null` oder `T | undefined`, um optionale Werte darzustellen, wenn strictNullChecks aktiviert ist.
function getUser(id: number): User | null {
  return db.find(u => u.id === id) ?? null;
}

Union aus Objekttypen

Union-Typen können Objekttypen kombinieren. TypeScript erlaubt ohne Eingrenzung nur den Zugriff auf Eigenschaften, die allen Mitgliedern gemeinsam sind.
type Cat = { kind: 'cat'; meow(): void };
type Dog = { kind: 'dog'; bark(): void };
type Pet = Cat | Dog;
function speak(pet: Pet) {
  if (pet.kind === 'cat') pet.meow();
  else pet.bark();
}

Drei oder mehr Typen in einer Union

Union-Typen können beliebig viele benötigte Typen enthalten.
type Input = string | number | boolean | null;

Union in Rückgabetypen

Funktionen können abhängig von ihrer Logik unterschiedliche Typen zurückgeben. Drücken Sie dies mit einem Union-Rückgabetyp aus.
function divide(a: number, b: number): number | null {
  if (b === 0) return null;
  return a / b;
}

Diskriminierte Union-Typen

Fügen Sie den Union-Mitgliedern eine gemeinsame Literal-Eigenschaft als Diskriminator hinzu. TypeScript verwendet diese, um den Typ automatisch einzugrenzen.
type Square = { kind: 'square'; side: number };
type Circle = { kind: 'circle'; radius: number };
type Shape = Square | Circle;

Gemeinsame Eigenschaften ohne Eingrenzung

Wenn alle Union-Mitglieder eine Eigenschaft gemeinsam haben, können Sie ohne Eingrenzung darauf zugreifen.
type A = { name: string; x: number };
type B = { name: string; y: number };
type AB = A | B;
function getName(obj: AB): string {
  return obj.name; // OK — name is on both
}

Kurzer Test

Welche Syntax erstellt einen Union-Typ, der entweder eine Zeichenkette oder eine Zahl sein kann?

Zusammenfassung

Union-Typen (`|`) erlauben Werte mehrerer Typen. Grenzen Sie Unions ein, bevor Sie typspezifische Operationen verwenden. Literal-Union-Typen beschränken Werte auf eine endliche Menge. Diskriminierte Union-Typen fügen ein gemeinsames Tag zur einfacheren Eingrenzung hinzu.

Häufig gestellte Fragen

Ist die Lektion „Union-Typen: A oder B“ kostenlos?

Ja — der vollständige Text von „Union-Typen: A oder B“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des TypeScript Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der TypeScript Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Union-Typen: A oder B“?

Verwenden Sie |, um mehrere mögliche Typen zuzulassen. Du übst TypeScript Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um TypeScript Academy zu starten?

Keine Vorkenntnisse erforderlich. TypeScript Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Union-Typen: A oder B“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser TypeScript Academy-Lektion Code schreiben und ausführen?

Ja. Jede TypeScript Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Union-Typen: A oder B
  2. Intersection-Typen: A und B
  3. Diskriminierte Unions für sicheres Pattern Matching
  4. Praxisnahe Muster mit Union- und Intersection-Typen
← Zurück zu TypeScript Academy