𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 𝗣𝗿𝗶𝗺𝗶𝘁𝗶𝘃𝗲 𝗗𝗮𝘁𝗮 𝗧𝘆𝗽𝗲𝘀

TypeScript ช่วยให้คุณจัดการวิธีการกำหนดข้อมูลให้กับตัวแปรได้ โดยมีสองวิธีหลักในการทำเช่นนี้

  1. การกำหนดแบบ Explicit คุณระบุให้ TypeScript ทราบอย่างชัดเจนว่าค่าที่กำหนดนั้นเป็นประเภทใด ตัวอย่าง: let str: string = "hello";

  2. การกำหนดแบบ Implicit TypeScript จะคาดเดาประเภทข้อมูลจากค่าที่กำหนด ซึ่งเรียกว่า inferred typing ตัวอย่าง: let str = "hello";

แม้จะใช้การอนุมานประเภทข้อมูล (inferred typing) แต่ TypeScript ก็ยังช่วยปกป้องโค้ดของคุณ หากคุณพยายามเปลี่ยนจาก string เป็น number ตัว TypeScript จะแสดงข้อผิดพลาดขึ้นมา

ควรใช้การกำหนดแบบ Explicit เมื่อใด?

TypeScript ใช้ duck typing สำหรับ object ที่มีความซับซ้อน หาก object มีโครงสร้างที่ตรงตามที่กำหนด TypeScript จะใช้โครงสร้างนั้น และจะไม่ยอมให้คุณเพิ่ม property ใหม่ที่ไม่มีอยู่ในคำจำกัดความเดิม

ประเภทข้อมูลพื้นฐาน (primitive types) ของ JavaScript ใน TypeScript:

หมายเหตุเกี่ยวกับ null และ undefined: หากคุณไม่ได้กำหนดประเภทข้อมูล ค่าเหล่านี้จะทำให้ตัวแปรสามารถเปลี่ยนเป็นประเภทใดก็ได้ แต่หากคุณกำหนดประเภทเป็น null หรือ undefined อย่างชัดเจน ตัวแปรนั้นก็จะคงอยู่เป็นประเภทดังกล่าวเท่านั้น

ที่มา: https://dev.to/jsha/introduction-to-typescript-javascript-primitive-data-types-49ok