Prywatne metody w OOP w JavaScript

Prywatne mogą być nie tylko właściwości, ale i metody. Zwykle prywatnymi robi się metody pomocnicze, aby przypadkowo nie mogły być wywołane z zewnątrz klasy.

Spójrzmy na przykład. Załóżmy, że mamy następującą klasę:

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

Zróbmy w tej klasie metodę prywatną, która parametrem będzie przyjmować ciąg znaków i robić wielką literę jej pierwszego znaku:

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

Skorzystajmy z naszej metody pomocniczej wewnątrz innej metody:

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

Sprawdźmy. Stwórzmy obiekt naszej klasy:

javascriptlet user = new User('john');

Wywołajmy metodę publiczną, używającą metody pomocniczej:

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

W następującym kodzie zrób metodę pomocniczą prywatną:

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