การใช้ประเภทคลาสใน Generics ใน TypeScript
คุณสามารถใช้คลาสเป็นประเภททั่วไปได้เช่นกัน เพียงแต่ต้องกำหนดประเภทของคลาส
โดยใช้ตัวสร้างของมัน ดังนั้น แทนที่จะเป็นพารามิเตอร์ type:T เราจำเป็นต้อง
ระบุ type: {new(): T;} มาเขียนฟังก์ชันที่สร้างผู้ใช้ใหม่จากคลาส
User กัน:
function getUser <T> (type: { new (): T; }): T {
return new type();
}
class User {
constructor() {
console.log('You create a new user!');
}
}
let user: User = getUser(User);
ผลลัพธ์ของโค้ดที่ทำงาน:
'You create a new user!'