Приватные методы в ООП в JavaScript

Приватными могут быть не только свойства, но и методы. Обычно приватными делают вспомогательные методы, чтобы они случайно не могли быть вызваны извне класса.

Давайте посмотрим на примере. Пусть у нас есть следующий класс:

class User { #name; constructor(name) { this.#name = name; } show() { return this.#name; } }

Сделаем в этом классе приватный метод, который параметром будет принимать строку и делать заглавным ее первый символ:

class User { #name; constructor(name) { this.#name = name; } show() { return this.#name; } #cape(str) { return str[0].toUpperCase() + str.slice(1); } }

Воспользуемся нашим вспомогательным методом внутри другого метода:

class User { #name; constructor(name) { this.#name = name; } show() { return this.#cape(this.#name); } #cape(str) { return str[0].toUpperCase() + str.slice(1); } }

Давайте проверим. Создадим объект нашего класса:

let user = new User('john');

Вызовем публичный метод, использующий вспомогательный:

console.log(user.show());

В следующем коде сделайте вспомогательный метод приватным:

class Employee { constructor(name, salary) { this.name = name; this.salary = salary; } getSalary() { return this.addSign(this.salary); } addSign(num) { return num + '$'; } }



Чат с GPT Компилятор