Verwendung von Klassentypen in Generika in TypeScript
Als generischen Typ kann man
auch Klassen verwenden. Man muss nur den Typ der Klasse
über ihren Konstruktor angeben. Daher
müssen wir anstelle des Parameters type:T
type: {new(): T;} angeben. Lasst uns
eine Funktion erstellen, die wiederum
einen neuen Benutzer aus der Klasse User erstellt:
function getUser <T> (type: { new (): T; }): T {
return new type();
}
class User {
constructor() {
console.log('You create a new user!');
}
}
let user: User = getUser(User);
Ergebnis des ausgeführten Codes:
'You create a new user!'