Použití typů tříd v generikách v TypeScriptu
Jako generický typ lze použít
i třídy. Jen je potřeba zadat typ třídy
pomocí jejího konstruktoru. Proto
místo parametru type:T musíme
uvedst type: {new(): T;}. Udělejme
funkci, která vytvoří
nového uživatele z třídy User:
function getUser <T> (type: { new (): T; }): T {
return new type();
}
class User {
constructor() {
console.log('Vytvořil jste nového uživatele!');
}
}
let user: User = getUser(User);
Výsledek provedeného kodu:
'Vytvořil jste nového uživatele!'