Klasu tipu izmantošana TypeScript vispārinājumos

Kā vispārinātu tipu var izmantot arī klases. Tikai jāiestata klases tips izmantojot tās konstruktoru. Tāpēc parametra type:T vietā mums jānorāda type: {new(): T;}. Izveidosim funkciju, kas savukārt izveidos jaunu lietotāju no klases 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);

Izpildītā koda rezultāts:

typescript'You create a new user!'