Wykorzystanie typów klas w generykach w TypeScript
Jako typ generyczny można używać
również klas. Trzeba tylko określić typ klasy
za pomocą jej konstruktora. Zatem
zamiast parametru type:T musimy
podać type: {new(): T;}. Stwórzmy
funkcję, która z kolei
utworzy nowego użytkownika z klasy 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);
Wynik wykonanego kodu:
'You create a new user!'