วิธีการส่วนตัวใน OOP ใน JavaScript

ไม่เพียงแต่คุณสมบัติเท่านั้นที่สามารถเป็นส่วนตัวได้ แต่เมธอดก็สามารถเป็นส่วนตัวได้เช่นกัน โดยทั่วไปแล้วเมธอดที่มักถูกทำให้เป็นส่วนตัว คือเมธอดตัวช่วย เพื่อป้องกัน ไม่ให้ถูกเรียกใช้โดยบังเอิญ จากนอกคลาส

ลองดูตัวอย่างกัน สมมติว่าเรามีคลาสต่อไปนี้:

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

มาสร้างเมธอดส่วนตัวในคลาสนี้กัน ซึ่งจะรับพารามิเตอร์เป็น สตริงและทำให้ตัวอักษรตัวแรกเป็นตัวพิมพ์ใหญ่:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  show() {
    return this.#name;
  }
  
  #cape(str) {
    return str[0].toUpperCase() + str.slice(1);
  }
}

มาใช้เมธอดตัวช่วยของเรา ภายในเมธอดอื่นกัน:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  show() {
    return this.#cape(this.#name);
  }
  
  #cape(str) {
    return str[0].toUpperCase() + str.slice(1);
  }
}

ลองทดสอบกัน สร้าง อ็อบเจ็กต์ของคลาสของเรา:

javascriptlet user = new User('john');

เรียกใช้เมธอดสาธารณะ ที่ใช้เมธอดตัวช่วย:

javascriptconsole.log(user.show());
Задание 1

ในโค้ดต่อไปนี้ ให้ทำให้เมธอดตัวช่วย เป็นเมธอดส่วนตัว:

javascriptclass Employee {
  constructor(name, salary) {
    this.name = name;
    this.salary = salary;
  }
  
  getSalary() {
    return this.addSign(this.salary);
  }
  
  addSign(num) {
    return num + '₽';
  }
}