Истифодаи навъҳои синфҳо дар ҷенерикҳо дар TypeScript
Ҳамчун навъи умумӣ метавон
ва синфҳоро истифода бурд. Танҳо лозим аст, ки навъи синф
бо истифода аз конструктораш мушаххас карда шавад. Аз ин рӯ
ба ҷои параметри type:T мо бояд
type: {new(): T;}-ро муайян кунем. Биёед
функсияе созем, ки ба навбадаш
корбари наве аз синфи User созад:
function getUser <T> (type: { new (): T; }): T {
return new type();
}
class User {
constructor() {
console.log('Шумо як корбари нав сохтед!');
}
}
let user: User = getUser(User);
Натиҷаи коди иҷрошуда:
'Шумо як корбари нав сохтед!'