คุณสมบัติแบบอ่านอย่างเดียวในอินเทอร์เฟซใน TypeScript

คุณสมบัติแบบอ่านอย่างเดียวจะถูกกำหนดค่าเพียงครั้งเดียวตอนสร้างอ็อบเจกต์ หลังจากนั้นไม่สามารถเปลี่ยนแปลงได้ สำหรับการประกาศคุณสมบัติเหล่านี้ ใช้คำหลัก readonly

ลองใช้อินเทอร์เฟซ IFigure ที่สร้างขึ้นในบทเรียนก่อนหน้านี้ แต่ตอนนี้กำหนดให้คุณสมบัติ width สามารถเข้าถึงได้แบบอ่านอย่างเดียว:

typescriptinterface IFigure {
  height: number;
  readonly width: number;
}

มาสร้างอ็อบเจกต์ rectangle กัน:

typescriptlet rectangle: IFigure = {
  height: 200,
  width: 300
}

ลองเปลี่ยนความสูง:

typescriptrectangle.height = 150;

ตอนนี้ลองเปลี่ยนความกว้างและจะเห็นข้อผิดพลาด เนื่องจากความกว้างถูกประกาศไว้ว่าไม่สามารถเปลี่ยนแปลงได้:

typescriptrectangle.width = 400; // ข้อผิดพลาด
Задание 1

สร้างอินเทอร์เฟซ IUser โดยที่คุณสมบัติ salary จะสามารถเข้าถึงได้แบบอ่านอย่างเดียว