0Pricing
TypeScript Academy · Lektion

Intersection-Typen: A und B

Kombinieren Sie Typen mit &, um ihre Eigenschaften zusammenzuführen.

Intersection-Typen: A und B ist eine kostenlose TypeScript Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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

Intersection-Typen kombinieren mehrere Typen zu einem einzigen. Ein Wert eines Intersection-Typs muss ALLE kombinierten Typen gleichzeitig erfüllen.

Grundlegende Intersection-Syntax

Verwenden Sie den Operator `&`, um eine Intersection zu erstellen. Das Ergebnis enthält alle Eigenschaften beider Typen.
type Named = { name: string };
type Aged = { age: number };
type Person = Named & Aged;
const alice: Person = { name: 'Alice', age: 30 };

Alle Eigenschaften erforderlich

Eine Intersection erfordert ALLE Eigenschaften aller kombinierten Typen. Fehlt eine Eigenschaft, liegt ein Typfehler vor.
type A = { x: number };
type B = { y: number };
type AB = A & B;
// const p: AB = { x: 1 }; // Error — missing y

Objekttypen zusammenführen

Intersections werden häufig verwendet, um zwei Objekttypen zusammenzuführen, die nicht voneinander erben.
type Serializable = { serialize(): string };
type Loggable = { log(): void };
type Service = Serializable & Loggable;

Intersection im Vergleich zu Extends

Schnittstellenerweiterung und Intersection erzeugen bei Objekttypen ähnliche Ergebnisse. Intersection funktioniert jedoch auch mit Typ-Aliassen einschließlich Unions und primitiven Typen.
// Interface extend:
interface C extends A, B {}

// Intersection type:
type D = A & B;
// Both give the same shape for simple objects

Intersection mit sich widersprechenden Typen

Wenn zwei geschnittene Typen dieselbe Eigenschaft mit widersprüchlichen Typen haben, ist das Ergebnis für diese Eigenschaft `never`.
type X = { id: string };
type Y = { id: number };
type XY = X & Y;
// XY.id is string & number = never — impossible!

Intersection in Funktionsparametern

Akzeptieren Sie ein Argument, das mehrere Schnittstellenverträge erfüllen muss, indem Sie eine Intersection verwenden.
function process(item: Serializable & Loggable): void {
  item.log();
  console.log(item.serialize());
}

Mixin-Muster mit Intersections

Intersections ermöglichen das Mixin-Muster – das Kombinieren von Verhalten aus mehreren Quellen.
type Timestamped<T> = T & { createdAt: Date };
type User = Timestamped<{ name: string; email: string }>;

Intersections primitiver Typen werden zu never

Die Intersection primitiver Typen, die sich nicht überschneiden können, wird zu `never`.
type T = string & number; // never — a value can't be both

Intersection und Union: der zentrale Unterschied

Union (`|`) bedeutet ODER – der Wert kann einer der Typen sein. Intersection (`&`) bedeutet UND – der Wert muss alle Typen erfüllen.

Intersections mit Generics verwenden

Kombinieren Sie einen generischen Typ mit zusätzlichen Eigenschaften mithilfe einer Intersection, um flexible und erweiterbare Typen zu erstellen.
type WithId<T> = T & { id: number };
const user: WithId<{ name: string }> = { id: 1, name: 'Alice' };

Kurzer Test

Worauf wird `type T = string & number` ausgewertet?

Zusammenfassung

Intersection-Typen (`&`) erfordern ALLE Eigenschaften aller kombinierten Typen. Verwenden Sie sie, um Objektstrukturen zusammenzuführen, Mixins zu implementieren und generische Typen zu kombinieren. Widersprüchliche Intersections primitiver Typen werden zu never.

Häufig gestellte Fragen

Ist die Lektion „Intersection-Typen: A und B“ kostenlos?

Ja — der vollständige Text von „Intersection-Typen: A und 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 „Intersection-Typen: A und B“?

Kombinieren Sie Typen mit &, um ihre Eigenschaften zusammenzuführen. 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 2 von 4.

Wie lange dauert die Lektion „Intersection-Typen: A und 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