Privačiuos metodai OOP JavaScripte
Privatūs gali būti ne tik savybės, bet ir metodai. Paprastai privatūs daro pagalbinius metodus, kad jie netyčia negalėtų būti iškviesti iš klasės išorės.
Pažiūrėkime pavyzdžiu. Tegul mes turime šią klasę:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Padarykime šioje klasėje privatų metodą, kuris parametru priims eilutę ir padarys pirmąją jos raidę didžiąja:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Panaudokime savo pagalbinį metodą kito metodo viduje:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#cape(this.#name);
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Patikrinkime. Sukurkime mūsų klasės objektą:
let user = new User('john');
Iškvieskime viešąjį metodą, kuris naudoja pagalbinį:
console.log(user.show());
Šiame kode padarykite pagalbinį metodą privačiu:
class Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this.addSign(this.salary);
}
addSign(num) {
return num + '€';
}
}