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

Что такое концепция замыкания

Замыкание (closure) — это функция, которая запоминает внешние переменные, даже если они вышли из области видимости. В JavaScript замыкания создаются при определении функции внутри другой функции.

javascript
function outer() {
  const outerVar = 'I am outside!';
  
  function inner() {
    console.log(outerVar); // Доступ к outerVar через замыкание
  }
  
  return inner;
}

const closure = outer();
closure(); // Выведет: "I am outside!"

text

Особенности:
1. Замыкание сохраняет ссылку на переменные, а не их значения
2. Позволяет создавать приватные переменные (инкапсуляция)
3. Часто используется в колбэках, модулях и функциях-фабриках

Пример с приватными данными:
```javascript
function createCounter() {
  let count = 0;
  return {
    increment() { count++ },
    getCount() { return count }
  };
}

const counter = createCounter();
counter.increment();
console.log(counter.getCount()); // 1
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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