TypeScript-da generics-larda klass turlaridan foydalanish

Umumlashtirilgan tur sifatida klaslardan ham foydalanish mumkin. Faqat uning konstruktori yordamida klass turini belgilash kerak. Shuning uchun type:T parametri o'rniga biz type: {new(): T;} ni ko'rsatishimiz kerak. Keling, o'z navbatida User klasidan yangi foydalanuvchi yaratadigan funksiyani yasaymiz:

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

class User {
  constructor() {
    console.log('You create a new user!');
  }
}

let user: User = getUser(User);

Bajarilgan kod natijasi:

typescript'You create a new user!'