Private metoder i OOP i JavaScript
Private kan ikke kun være egenskaber, men også metoder. Normalt gøres hjælpemetoder private for at forhindre, at de ved et uheld bliver kaldt udefra klassen.
Lad os se på et eksempel. Antag, at vi har følgende klasse:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Lad os lave en privat metode i denne klasse, som tager en streng som parameter og gør dens første bogstav stort:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Lad os bruge vores hjælpemetode inde i en anden metode:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#cape(this.#name);
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Lad os teste. Lad os oprette et objekt af vores klasse:
javascriptlet user = new User('john');
Lad os kalde den offentlige metode, der bruger hjælpemetoden:
javascriptconsole.log(user.show());
Задание 1
Gør hjælpemetoden privat i følgende kode:
javascriptclass Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this.addSign(this.salary);
}
addSign(num) {
return num + ' kr.';
}
}