Privé methoden in OOP in JavaScript

Niet alleen eigenschappen kunnen privé zijn, maar ook methoden. Meestal worden hulpmethoden privé gemaakt, zodat ze per ongeluk niet van buiten de klas kunnen worden aangeroepen.

Laten we een voorbeeld bekijken. Stel dat we de volgende klasse hebben:

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

Laten we in deze klasse een privé methode maken, die een string als parameter accepteert en de eerste letter hoofdletter maakt:

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

Laten we onze hulpmethode gebruiken in een andere methode:

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

Laten we het testen. Laten we een object van onze klasse maken:

javascriptlet user = new User('john');

Laten we de publieke methode aanroepen, die de hulpmethode gebruikt:

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

Maak in de volgende code de hulpmethode privé:

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