Utilizzo dei tipi di classe nei generici in TypeScript
È possibile utilizzare anche le classi
come tipo generico. Bisogna solo definire il tipo della classe
utilizzando il suo costruttore. Pertanto,
invece del parametro type:T, dobbiamo
specificare type: {new(): T;}. Creiamo
una funzione che a sua volta
creerà un nuovo utente dalla classe User:
function getUser <T> (type: { new (): T; }): T {
return new type();
}
class User {
constructor() {
console.log('Hai creato un nuovo utente!');
}
}
let user: User = getUser(User);
Risultato del codice eseguito:
'Hai creato un nuovo utente!'