Klasių tipų naudojimas generikuose TypeScript
Kaip generic tipą galima naudoti
ir klases. Tik reikia nustatyti klasės tipą
naudojant jos konstruktorių. Todėl
vietoj parametro type:T mes turime
nurodyti type: {new(): T;}. Sukurkime
funkciją, kuri savo ruožtu
sukurs naują vartotoją iš klasės User:
function getUser <T> (type: { new (): T; }): T {
return new type();
}
class User {
constructor() {
console.log('Sukūrėte naują vartotoją!');
}
}
let user: User = getUser(User);
Vykdymo rezultatas:
'Sukūrėte naują vartotoją!'