ตัวเข้าถึงใน OOP ใน TypeScript
เช่นเดียวกับใน JavaScript บริสุทธิ์ ใน TypeScript สามารถสร้าง ตัวเข้าถึง ของคุณสมบัติได้: เก็ตเตอร์ และ เซ็ตเตอร์
อย่างไรก็ตาม ใน TypeScript ชื่อของตัวเข้าถึงไม่
ควรซ้ำกับชื่อของคุณสมบัติ มาดูกันในทางปฏิบัติ
สร้างตัวเข้าถึงสำหรับคุณสมบัติส่วนตัว name
หากตั้งชื่อสำหรับตัวเข้าถึงเป็น name เช่นกัน
โค้ดนี้จะให้ข้อผิดพลาด:
class User {
private name: string = '';
public set name(name: string) { // จะให้ข้อผิดพลาด
this.name = name;
}
public get name(): string {
return this.name;
}
}
แก้ไขปัญหาด้วยการเปลี่ยนชื่อคุณสมบัติส่วนตัว ตัวอย่างเช่น:
class User {
private _name: string = '';
public set name(name: string) {
this._name = name;
}
public get name(): string {
return this._name;
}
}
สร้างคลาส User ที่มี
คุณสมบัติส่วนตัวชื่อและอายุ
สร้างตัวเข้าถึงสำหรับคุณสมบัติเหล่านี้
ปรับเปลี่ยนเซ็ตเตอร์ของอายุเพื่อให้
สามารถกำหนดอายุตั้งแต่ 0 ถึง
120 ได้ หากกำหนดค่าอื่น
ควรโยนข้อยกเว้น