TypeScript hat eine spezielle Art von Variable namens "Generics", die verwendet wird, um eine Variable zu definieren, die jeden Typ enthalten kann, aber nur einen Typ, sobald er festgelegt ist. Diese Funktionalität ist äußerst nützlich in vielen Programmierfällen und erfordert ein gutes Verständnis für eine effektive Nutzung.
Die Generics in TypeScript sind ähnlich den Templates in C++ und den Generics in Java. Sie bieten eine Möglichkeit, Komponenten zu erstellen, die auf verschiedene Arten mit unterschiedlichen Datentypen arbeiten können, aber dennoch typsicher sind.
Betrachten Sie beispielsweise eine Funktion, die ein Array akzeptiert und das erste Element zurückgibt. Ohne Generics würde diese Funktion entweder den Any-Typ verwenden, was alle Typsicherheit verlieren würde, oder einen spezifischen Typ angeben, was die Funktion einschränken würde.
Mit Generics können Sie die Funktion wie folgt schreiben:
function getErstesElement<T>(arr: T[]): T {
return arr[0];
}
In diesem Beispiel ist T
ein Platzhalter für jeden Typ, den Sie später angeben. Wenn Sie diese Funktion mit einem Array von Nummern aufrufen, wird T
durch number
ersetzt, und die Funktion nimmt ein Array von Zahlen an und gibt eine Zahl zurück.
let zahlen = [5, 4, 3, 2, 1];
console.log(getErstesElement(zahlen)); // Ausdruck: 5
Diese Flexibilität und Typsicherheit macht Generics zu einer wichtigen Funktion in TypeScript.
Es ist wichtig zu betonen, dass any
, var
und let
andere Elemente der TypeScript-Sprache mit unterschiedlichen Zwecken und Verhaltensweisen sind. Sie haben nicht die spezifischen Eigenschaften und die Flexibilität von Generics, insbesondere die Fähigkeit, eine Variable zu halten, die jeden Typ enthalten kann, aber nur einen Typ hat, sobald er festgelegt ist.