Skip to content

ชนิดออบเจ็กต์

ใน 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 }));