TypeScript'те класс тибиндерин дженериктерде колдонуу
Жалпыланган тип катары класстарды да
колдонсо болот. Бирок класстын типін
анын конструктору аркылуу берүү керек.
Демек, type:T параметринин ордуна
биз type: {new(): T;} деп көрсөтүшүбүз
керек. Келгиле, User класстан
жаңы колдонуучуну түзүүчү функцияны жазалы:
function getUser <T> (type: { new (): T; }): T {
return new type();
}
class User {
constructor() {
console.log('Сиз жаңы колдонуучу түздүңүз!');
}
}
let user: User = getUser(User);
Кодду иштетүүнүн натыйжасы:
'Сиз жаңы колдонуучу түздүңүз!'