Встречается на собеседованиях • сегодня

Как реализуются приватные переменные

В JavaScript приватные переменные можно реализовать через замыкания или используя синтаксис приватных полей класса (с #):

1. Замыкания:

javascript
function createCounter() {
  let count = 0; // приватная переменная
  
  return {
    increment() { count++ },
    getCount() { return count }
  };
}

const counter = createCounter();
counter.increment();
console.log(counter.getCount()); // 1
console.log(counter.count); // undefined

text

**2. Приватные поля класса (ES2022):**
```javascript
class Counter {
  #count = 0; // приватное поле
  
  increment() { this.#count++ }
  getCount() { return this.#count }
}

const counter = new Counter();
counter.increment();
console.log(counter.getCount()); // 1
console.log(counter.#count); // SyntaxError

Приватные поля доступны только внутри класса и не наследуются. Поддерживаются в современных браузерах и Node.js.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы