ในโลกของการพัฒนาซอฟต์แวร์สมัยใหม่ TypeScript ได้กลายเป็นเครื่องมือสำคัญที่ช่วยเพิ่มความแข็งแรงให้กับโค้ด JavaScript ด้วยระบบ Type Checking ที่ยอดเยี่ยม อย่างไรก็ตาม ในบางสถานการณ์ โครงสร้างข้อมูลที่เราได้รับอาจไม่สามารถให้รายละเอียดของประเภทตัวแปรได้อย่างสมบูรณ์ หรือเราทราบด้วยประสบการณ์การเขียนโปรแกรมว่าค่าใด ๆ นั้นจะต้องมีรูปลักษณ์ (Structure) แบบเฉพาะเจาะจง ซึ่งเป็นจุดที่ฟีเจอร์ ‘Type Assertion’ เข้ามามีบทบาท
TypeScript Type Assertion คืออะไร?
พูดง่ายๆ ว่า Type Assertion คือกระบวนการที่คุณบอก Compiler ของ TypeScript ให้เชื่อคุณ โดยเป็นการบังคับระบุชนิดข้อมูล (Force casting the type) แม้ว่าโครงสร้างปัจจุบันจะทำให้มันดูเหมือนว่าเป็นคนละอย่างกันก็ได้ มันไม่ใช่การเปลี่ยน Runtime Value แต่คือการแจ้งกับ Static Checker ว่า ‘ฉันรู้ดีกว่านี้ นี่แหละคือน่าจะเป็นแบบนี้นะ’ คุณกำลังข้ามขั้นตอนการตรวจสอบไทป์อัตโนมัติเพื่อเร่งรัดงานเมื่อจำเป็นจริงๆ เท่านั้น
h3 id=”syntax-and-usage”>Syntax และวิธีการใช้งานหลักโดยทั่วไปแล้ว การทำ Type Assertion มีรูปแบบ syntax สองวิธีใน JavaScript/TS:
- ใช้เครื่องหมาย Index Access: `
` value - ใช้วังเล็บ (<>) :
(keyof typeof value)เช่น ใช้สำหรับยืนยันประเภทของ Key ใน Object.
// ตัวอย่างที่ 1: Asserting a string to an HTMLElement\ntype ElementType =