Privatne metode u OOP u JavaScript-u
Ne samo svojstva, već i metode mogu biti privatne. Obično se pomoćne metode čine privatnim kako ne bi slučajno mogle biti pozvane izvan klase.
Pogledajmo na primeru. Neka imamo sledeću klasu:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Napravimo privatnu metodu u ovoj klasi, koja će kao parametar primati string i prvom slovu dati veliko slovo:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Iskoristimo našu pomoćnu metodu unutar druge metode:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#cape(this.#name);
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Hajde da proverimo. Kreiramo objekat naše klase:
let user = new User('john');
Pozovimo javnu metodu, koja koristi pomoćnu:
console.log(user.show());
U sledećem kodu učinite pomoćnu metodu privatnom:
class Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this.addSign(this.salary);
}
addSign(num) {
return num + '$
';
}
}