PlusMagi's Blog By Pitt Phunsanit Frontend TypeScript Type Assertion คืออะไร? คู่มือฉบับสมบูรณ์พร้อมตัวอย่างโค้ด

TypeScript Type Assertion คืออะไร? คู่มือฉบับสมบูรณ์พร้อมตัวอย่างโค้ด

ในโลกของการพัฒนาซอฟต์แวร์สมัยใหม่ 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 =