Private Methoden in OOP in JavaScript
Nicht nur Eigenschaften können privat sein, sondern auch Methoden. In der Regel werden Hilfsmethoden privat gemacht, damit sie nicht versehentlich von außerhalb der Klasse aufgerufen werden können.
Schauen wir uns ein Beispiel an. Nehmen wir an, wir haben die folgende Klasse:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Erstellen wir in dieser Klasse eine private Methode, die einen String als Parameter entgegennimmt und dessen ersten Buchstaben großschreibt:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Verwenden wir unsere Hilfsmethode in einer anderen Methode:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#cape(this.#name);
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Lassen Sie uns das überprüfen. Erstellen wir ein Objekt unserer Klasse:
let user = new User('john');
Rufen wir die öffentliche Methode auf, die die Hilfsmethode verwendet:
console.log(user.show());
Machen Sie im folgenden Code die Hilfsmethode privat:
class Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this.addSign(this.salary);
}
addSign(num) {
return num + '
;
}
}