TypeScript Generics เข้าใจง่ายกว่าที่คิด
TypeScript Generics เป็นฟีเจอร์ที่หลายคนหลีกเลี่ยงเพราะดูซับซ้อน แต่จริงๆ แล้วมันแค่ช่วยให้เราเขียน function หรือ type ที่รองรับได้หลายชนิดข้อมูลโดยยังคง type-safety ไว้
ตัวอย่างง่ายที่สุดคือ function ที่รับ array และ return ตัวแรก แบบไม่ใช้ Generic ก็ต้องเขียนแยกสำหรับ string[], number[] ไปเรื่อยๆ แต่พอใช้ Generic แค่ function first(arr: T[]): T ก็ครอบคลุมได้ทุกชนิด
Constraint ด้วย extends ทำให้เราจำกัดได้ว่า T ต้องมี property อะไรบ้าง เช่น ทำให้ใช้ item.id ได้อย่างปลอดภัยโดยไม่เกิด type error
Generic ใน React มีประโยชน์มากสำหรับ reusable component เช่น