เก็ตเตอร์ของแอคเซสเซอร์ใน OOP ใน JavaScript
มาดูรายละเอียดเกี่ยวกับการใช้งาน เก็ตเตอร์ของคุณสมบัติแอคเซสเซอร์กันดีกว่า สมมติว่า เรามีคลาสต่อไปนี้ ที่มีคุณสมบัติส่วนตัว:
class User {
#name;
constructor(name) {
this.#name = name;
}
}
มาสร้างคุณสมบัติสาธารณะ name
ในคลาสนี้กัน
ซึ่งจะสามารถอ่านได้,
แต่จะไม่สามารถเขียนค่าได้:
class User {
#name;
constructor(name) {
this.#name = name;
}
get name() {
return this.#name;
}
}
ลองทดสอบการทำงาน สร้างออบเจ็กต์ จากคลาสของเรา โดยส่งค่า ชื่อเป็นพารามิเตอร์:
let user = new User('john');
และตอนนี้อ่านชื่อผ่าน คุณสมบัติสาธารณะ:
let name = user.name;
console.log(name);
แต่การพยายามเขียนชื่อ จะทำให้เกิดข้อผิดพลาด ตามที่เรา ต้องการ:
user.name = 'eric';
จงเขียนเก็ตเตอร์แอคเซสเซอร์สำหรับ
คุณสมบัติของคลาส Employee