เก็ตเตอร์ของแอคเซสเซอร์ใน OOP ใน JavaScript

มาดูรายละเอียดเกี่ยวกับการใช้งาน เก็ตเตอร์ของคุณสมบัติแอคเซสเซอร์กันดีกว่า สมมติว่า เรามีคลาสต่อไปนี้ ที่มีคุณสมบัติส่วนตัว:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
}

มาสร้างคุณสมบัติสาธารณะ name ในคลาสนี้กัน ซึ่งจะสามารถอ่านได้, แต่จะไม่สามารถเขียนค่าได้:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  get name() {
    return this.#name;
  }
}

ลองทดสอบการทำงาน สร้างออบเจ็กต์ จากคลาสของเรา โดยส่งค่า ชื่อเป็นพารามิเตอร์:

javascriptlet user = new User('john');

และตอนนี้อ่านชื่อผ่าน คุณสมบัติสาธารณะ:

javascriptlet name = user.name;
console.log(name);

แต่การพยายามเขียนชื่อ จะทำให้เกิดข้อผิดพลาด ตามที่เรา ต้องการ:

javascriptuser.name = 'eric';
Задание 1

จงเขียนเก็ตเตอร์แอคเซสเซอร์สำหรับ คุณสมบัติของคลาส Employee