Uporaba tipov razredov v generikih v TypeScript

Kot generični tip lahko uporabimo tudi razrede. Samo nastaviti moramo tip razreda z uporabo njegovega konstruktorja. Zato namesto parametra type:T moramo navedeti type: {new(): T;}. Naredimo funkcijo, ki bo posledično ustvarila novega uporabnika iz razreda User:

typescriptfunction getUser <T> (type: { new (): T; }): T {
  return new type();
}

class User {
  constructor() {
    console.log('Ustvarili ste novega uporabnika!');
  }
}

let user: User = getUser(User);

Rezultat izvedene kode:

typescript'Ustvarili ste novega uporabnika!'