Utilizarea tipurilor de clase în generice în TypeScript
Ca tip generic se poate utiliza
și clase. Doar că trebuie să specificați tipul clasei
cu ajutorul constructorului său. Prin urmare,
în loc de parametrul type:T, trebuie
să specificăm type: {new(): T;}. Să
creăm o funcție care, la rândul său,
va crea un nou utilizator din clasa 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);
Rezultatul codului executat:
'You create a new user!'