Matumizi ya Aina za Madarasa katika Vyema katika TypeScript

Kama aina ya jumla unaweza kutumia pia madarasa. Lakini unahitaji kuweka aina ya darasa kwa kutumia muundo wake. Kwa hivyo badala ya kigezo type:T tunahitaji kubainisha type: {new(): T;}. Hebu tufanye kitendakazi, ambacho kwa upande wake kitaunda mtumiaji mpya kutoka kwa darasa User:

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

class User {
  constructor() {
    console.log('Umemuunda mtumiaji mpya!');
  }
}

let user: User = getUser(User);

Matokeo ya msimbo uliofanyika:

typescript'Umemuunda mtumiaji mpya!'