คุณสมบัติทางเลือกของอินเทอร์เฟซใน TypeScript
ในอินเทอร์เฟซยังสามารถกำหนดคุณสมบัติพิเศษ
ทางเลือก (ไม่บังคับ) ได้
สิ่งเหล่านี้จำเป็นเพื่อไม่ให้จำกัด
ออบเจ็กต์ด้วยชุดคุณสมบัติที่แน่นอน ในขณะที่
ไม่อนุญาตให้ใช้คุณสมบัติ
ที่ไม่อยู่ในอินเทอร์เฟซ คุณสมบัติทางเลือก
ถูกกำหนดโดยใช้โอเปอเรเตอร์ ?
ที่ระบุหลังชื่อคุณสมบัติ
มาสร้างอินเทอร์เฟซ IFigure
ที่กำหนดคุณสมบัติให้กับออบเจ็กต์รูปทรงทั้งหมด
ให้ color เป็นคุณสมบัติ
ทางเลือก:
interface IFigure {
height: number;
width: number;
color?: string;
}
ตอนนี้มาสร้างออบเจ็กต์ rectangle และ
แสดงค่าสีของมันในคอนโซล:
let rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
และตอนนี้มาตรวจสอบว่าจะมีข้อผิดพลาดหรือไม่ หาก ไม่กำหนดสีในออบเจ็กต์:
let rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
จะไม่มีข้อผิดพลาด และในคอนโซลจะแสดง ข้อความเกี่ยวกับที่สีไม่ได้ กำหนดไว้:
undefined
สร้างอินเทอร์เฟซ IDate สำหรับออบเจ็กต์
ที่เก็บวันที่: ปี เดือน และวัน ให้
คุณสมบัติทั้งหมดของออบเจ็กต์เป็นทางเลือก