Privátní metody v OOP v JavaScriptu
Privátní nemusí být pouze vlastnosti, ale i metody. Obvykle se privátními dělají pomocné metody, aby nemohly být náhodně volány zvenčí třídy.
Podívejme se na příklad. Předpokládejme, že máme následující třídu:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Vytvořme v této třídě privátní metodu, která bude přijímat řetězec jako parametr a převede jeho první znak na velké písmeno:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Použijme naši pomocnou metodu uvnitř jiné metody:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#cape(this.#name);
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Pojďme to ověřit. Vytvořme objekt naší třídy:
let user = new User('john');
Zavolejme veřejnou metodu, která využívá pomocnou metodu:
console.log(user.show());
V následujícím kódu udělejte pomocnou metodu privátní:
class Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this.addSign(this.salary);
}
addSign(num) {
return num + ' Kč';
}
}