Përdorimi i tipeve të klasave në gjeneriket në TypeScript

Si tip gjenerik mund të përdoren edhe klasat. Vetëm duhet të caktohet tipi i klasës përmes konstruktorit të saj. Prandaj në vend të parametrit type:T ne duhet të përcaktojmë type: {new(): T;}. Le të krijojmë një funksion, i cili nga ana tjetër do të krijojë një përdorues të ri nga klasa 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);

Rezultati i kodit të ekzekutuar:

typescript'You create a new user!'