TypeScript-те дженериктерде класс түрлерін қолдану

Жалпыланған түр ретінде классларды да қолдануға болады. Тек оның конструкторы арқылы класс түрін беру керек. Демек type:T параметрінің орнына бізге type: {new(): T;} көрсету керек. Келіңіздер, User класынан жаңа пайдаланушы жасайтын функция жасайық:

typescriptfunction getUser <T> (type: { new (): T; }): T {
  return new type();
}

class User {
  constructor() {
    console.log('Сіз жаңа пайдаланушы жасадыңыз!');
  }
}

let user: User = getUser(User);

Орындалған кодтың нәтижесі:

typescript'Сіз жаңа пайдаланушы жасадыңыз!'