Използване на типове класове в дженерици в TypeScript
Като обобщен тип може да се използва
и класове. Само трябва да зададете типа на класа
чрез неговия конструктор. Следователно
вместо параметър 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!'