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'Сиз жаңы колдонуучу түздүңүз!'