Sử dụng kiểu lớp trong generics trong TypeScript
Bạn cũng có thể sử dụng
lớp làm kiểu tổng quát.
Chỉ cần chỉ định kiểu lớp
bằng cách sử dụng hàm tạo của nó.
Do đó,
thay vì tham số type:T, chúng ta cần
chỉ định type: {new(): T;}.
Hãy
tạo một hàm, hàm này sẽ
tạo người dùng mới từ lớp 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);
Kết quả của mã thực thi:
'You create a new user!'