კლასების ტიპების გამოყენება ჯენერიკებში TypeScript-ში

შესაძლებელია გამოვიყენოთ კლასებიც, როგორც გენერიკული ტიპი. მხოლოდ საჭიროა კლასის ტიპის მითითება მისი კონსტრუქტორის საშუალებით. შესაბამისად, პარამეტრის type:T ნაცვლად უნდა მივუთითოთ type: {new(): T;}. მოდით შევქმნათ ფუნქცია, რომელიც თავის მხრივ შექმნის ახალ მომხმარებელს User კლასიდან:

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);

შესრულებული კოდის შედეგი:

typescript'You create a new user!'