Korišćenje tipova klasa u generičkim tipovima u TypeScript-u

Kao generički tip mogu se koristiti i klase. Samo je potrebno zadati tip klase pomoću njenog konstruktora. Stoga umesto parametra type:T moramo navedemo type: {new(): T;}. Hajde da napravimo funkciju, koja će zauzvrat krozati novog korisnika iz klase 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);

Rezultat izvršenog koda:

typescript'You create a new user!'