Zum Inhalt springen

Erweitern von Typen

Ein interface kann erweitert werden (Member eines anderen Typs werden kopiert):

interface X {
a: string;
}
interface Y extends X {
b: string;
}

Es ist auch möglich, mehrere Typen zu erweitern:

interface A {
a: string;
}
interface B {
b: string;
}
interface Y extends A, B {
y: string;
}

Das Schlüsselwort extends funktioniert nur bei Interfaces und Klassen; verwenden Sie für Typen eine Schnittmenge:

type A = {
a: number;
};
type B = {
b: number;
};
type C = A & B;

Ein Typ kann mit einem Interface erweitert werden, umgekehrt ist dies jedoch nicht möglich:

type A = {
a: string;
};
interface B extends A {
b: string;
}