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