ในโลกของการพัฒนาซอฟต์แวร์สมัยใหม่ การจัดการชนิดข้อมูลที่แม่นยำและมีประสิทธิภาพถือเป็นหัวใจสำคัญของโค้ดที่มีคุณภาพ TypeScript ไม่เพียงแต่เป็นการเพิ่มระบบ Type Checking ให้กับ JavaScript เท่านั้น แต่ยังมอบเครื่องมือขั้นสูงอย่าง Generics ซึ่งทำหน้าที่ให้เราสามารถเขียนโครงสร้างพื้นฐาน (framework) และฟังก์ชันยูทิลิตี้ที่ทำงานได้อย่างหลากหลายโดยไม่สูญเสียความปลอดภัยทางด้านประเภทเลยแม้แต่น้อย
TypeScript Generics คืออะไร?
Generics เปรียบเสมือนการกำหนด ‘ตัวแทน’ ของชนิดข้อมูล แทนที่จะระบุว่าฟังก์ชันหรือคลาสใดๆ จะต้องรับหรือไม่ส่งคืนเฉพาะ `string` หรือแค่ `number` เสมอไป เราใช้ Generic Parameter เช่น `
พลังเบื้องหลัง: ความยืดหยุ่นที่ไม่ลดทอนความปลอดภัย
ปัญหาที่เราพบเมื่อไม่มี generics ที่เหมาะสมคือ การเขียนโค้ดซ้ำ ๆ สำหรับงานเดิมๆ เพียงแต่อยากเปลี่ยนแค่