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 :

typescriptfunction 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 :

typescript'You create a new user!'