Generic = tham số hóa kiểu: viết hàm/class/type hoạt động trên nhiều kiểu mà vẫn giữ quan hệ giữa các kiểu.
function identity<T>(x: T): T—Tđược suy ra từ đối số truyền vào, giá trị trả về giữ đúng kiểu đó.- Constraint:
<T extends { id: number }>giới hạnTphải có shape nhất định. - Default:
<T = string>.
Khác any: generic giữ nguyên kiểm tra kiểu ở nơi gọi (call site vẫn biết kiểu cụ thể), còn any tắt kiểm tra và làm mất autocomplete. Dùng nhiều cho collection, response API, và hook (useState<T>).