TypeScript'te Generics'te Sınıf Tiplerinin Kullanımı
Generic tip olarak
sınıfları da kullanabiliriz.
Ancak bunun için sınıfın yapıcı metodu (constructor) ile
tipinin belirtilmesi gerekir. Dolayısıyla
type:T parametresi yerine
type: {new(): T;} şeklinde
belirtmeliyiz. Hadi, bir User
sınıfından yeni bir kullanıcı oluşturacak
bir fonksiyon yapalım:
function getUser <T> (type: { new (): T; }): T {
return new type();
}
class User {
constructor() {
console.log('Yeni bir kullanıcı oluşturdunuz!');
}
}
let user: User = getUser(User);
Kodun çalıştırılma sonucu:
'Yeni bir kullanıcı oluşturdunuz!'