Privaatmetodes in OOP in JavaScript

Nie alleen eienskappe nie, maar ook metodes kan privaat wees. Gewoonlik word hulpmiddele privaat gemaak sodat hulle nie per ongeluk van buite die klas aangeroep kan word nie.

Laat ons kyk na 'n voorbeeld. Gestel ons het die volgende klas:

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

Laat ons in hierdie klas 'n private metode maak wat 'n string as parameter sal neem en die eerste karakter daarvan hoofletters sal maak:

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

Laat ons ons hulpmetode binne 'n ander metode gebruik:

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

Kom ons toets dit. Laat ons 'n objek van ons klas skep:

javascriptlet user = new User('john');

Laat ons die openbare metode roep wat die hulpmetode gebruik:

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

Maak die hulpmetode in die volgende kode privaat:

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