TypeScript-də Generiklərdə Sinif Tiplərindən Istifadə

Ümumiləşdirilmiş tip kimi siniflərdən də istifadə etmək olar. Yalnız onun konstruktorundan istifadə edərək sinifin tipini təyin etmək lazımdır. Nəticədə type:T parametri əvəzinə biz type: {new(): T;} göstərməliyik. Gəlin öz növbəsində User sinfindən yeni bir istifadəçi yaradacaq funksiya düzəldək:

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

Icra edilmiş kodun nəticəsi:

typescript'You create a new user!'