Utilisation des types de classes dans les génériques en TypeScript
Il est également possible d'utiliser des classes
comme type générique. Il faut cependant spécifier le type de la classe
à l'aide de son constructeur. Par conséquent,
au lieu du paramètre type:T, nous devons
spécifier type: {new(): T;}. Créons
une fonction qui, à son tour,
crée un nouvel utilisateur à partir de la classe User :
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);
Résultat de l'exécution du code :
'You create a new user!'