TypeScript-те дженериктерде класс түрлерін қолдану
Жалпыланған түр ретінде классларды да қолдануға болады.
Тек оның конструкторы арқылы класс түрін беру керек.
Демек type:T параметрінің орнына бізге
type: {new(): T;} көрсету керек. Келіңіздер,
User класынан жаңа пайдаланушы жасайтын
функция жасайық:
function getUser <T> (type: { new (): T; }): T {
return new type();
}
class User {
constructor() {
console.log('Сіз жаңа пайдаланушы жасадыңыз!');
}
}
let user: User = getUser(User);
Орындалған кодтың нәтижесі:
'Сіз жаңа пайдаланушы жасадыңыз!'