Выкарыстанне тыпаў класаў у джэнеріках у TypeScript
У якасці абагульненага тыпу можна выкарыстоўваць
і класы. Toлькі трэба задаць тып класа
з дапамогай яго канструктара. Такім чынам
замест параметра type:T нам трэба
пазначыць type: {new(): T;}. Давайце
зробім функцыю, якая ў сваю чаргу
створыць новага карыстальніка з класа User:
function getUser <T> (type: { new (): T; }): T {
return new type();
}
class User {
constructor() {
console.log('You create a new user!');
}
}
let user: User = getUser(User);
Вынік выкананага кода:
'You create a new user!'