Частни методи в ООП в 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 + '
;
  }
}