คำสั่งปรับแต่ง private ใน TypeScript
คำสั่งปรับแต่ง private ถูกใช้ในกรณีที่ต้องการปิดการเข้าถึงถึงคุณสมบัติและเมธอดจากภายนอกคลาส แม้แต่ในคลาสลูก ก็จะไม่สามารถอ้างอิงถึงคุณสมบัติเหล่านี้ได้
มาดูตัวอย่างกัน สร้างคุณสมบัติส่วนตัว name ในคลาส User:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
}
สร้างอ็อบเจ็กต์ของคลาส โดยส่งค่าเริ่มต้นของเราเข้าผ่านคอนสตรัคเตอร์:
let user: User = new User('john');
ตอนนี้ ความพยายามในการอ่านคุณสมบัติส่วนตัวนี้จากภายนอกคลาสจะทำให้เกิดข้อผิดพลาด:
console.log(user.name); // ข้อผิดพลาด
นอกจากนี้ ความพยายามในการเขียนข้อมูลลงในคุณสมบัตินี้จากภายนอกคลาสก็จะทำให้เกิดข้อผิดพลาดเช่นกัน:
user.name = 'eric'; // ข้อผิดพลาด
แต่ภายในเมธอดของคลาส เราสามารถอ่านและเปลี่ยนแปลงค่าของคุณสมบัติส่วนตัวของเราได้:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
public getName() {
return this.name; // อ่านคุณสมบัติ
}
public setName(name: string) {
this.name = name; // เขียนค่าใหม่ให้คุณสมบัติ
}
}
สร้างคลาส User ที่มีคุณสมบัติส่วนตัวชื่อและอายุ ให้กำหนดค่าเริ่มต้นผ่านคอนสตรัคเตอร์
ในคลาส User ของคุณ สร้างเมธอดสาธารณะ getName และ getAge ที่อนุญาตให้รับค่าของคุณสมบัติส่วนตัวที่เกี่ยวข้อง
ในคลาส User ของคุณ สร้างเมธอดสาธารณะ setName และ setAge ที่อนุญาตให้เปลี่ยนค่าของคุณสมบัติส่วนตัวที่เกี่ยวข้อง