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'Сиз янги фойдаланувчи яратдингиз!'