# Приватные методы в ООП в 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 + '$'; } }`
←→
↑