Դասերի տիպերի օգտագործումը TypeScript-ի ջեներիկներում

Որպես ընդհանրացված տիպ կարելի է օգտագործել նաև դասերը: Միայն պետք է նշել դասի տիպը նրա կոնստրուկտորի միջոցով: Հետևաբար type:T պարամետրի փոխարեն մենք պետք է նշենք type: {new(): T;}: Եկեք ստեղծենք ֆունկցիա, որն իր հերթին կստեղծի նոր օգտագործող User դասից:

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

class User {
  constructor() {
    console.log('Դուք ստեղծեցիք նոր օգտագործող:');
  }
}

let user: User = getUser(User);

Կատարված կոդի արդյունքը:

typescript'Դուք ստեղծեցիք նոր օգտագործող:'