ชนิดออบเจ็กต์
ใน TypeScript ชนิดออบเจ็กต์ใช้อธิบายโครงสร้างของออบเจ็กต์ โดยระบุชื่อและชนิดของพร็อพเพอร์ตีในออบเจ็กต์ รวมถึงระบุว่าพร็อพเพอร์ตีเหล่านั้นจำเป็นหรือเป็นแบบไม่บังคับ
ใน TypeScript คุณสามารถกำหนดชนิดออบเจ็กต์ได้สองวิธีหลัก:
อินเทอร์เฟซกำหนดโครงสร้างของออบเจ็กต์ด้วยการระบุชื่อ ชนิด และระบุว่าพร็อพเพอร์ตีใดเป็นแบบไม่บังคับ
interface User { name: string; age: number; email?: string;}นามแฝงชนิดกำหนดโครงสร้างของออบเจ็กต์คล้ายกับอินเทอร์เฟซ แต่ยังสามารถสร้างชนิดที่กำหนดเองใหม่โดยอาศัยชนิดที่มีอยู่หรือการรวมชนิดที่มีอยู่ ซึ่งรวมถึงการกำหนดชนิดยูเนียน ชนิด intersection และชนิดที่ซับซ้อนอื่น ๆ
type Point = { x: number; y: number;};นอกจากนี้ยังสามารถกำหนดชนิดแบบนิรนามได้:
const sum = (x: { a: number; b: number }) => x.a + x.b;console.log(sum({ a: 5, b: 1 }));