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

Как замыкание влияет на память

Замыкание сохраняет ссылку на внешнюю область видимости, даже после завершения работы функции. Это может привести к утечке памяти, если замыкание хранит ссылки на большие объекты, которые больше не нужны.

Пример:

javascript
function createHeavyObject() {
  const bigArray = new Array(1000000).fill('data');
  return function() {
    console.log(bigArray.length); // bigArray остается в памяти
  };
}

const closure = createHeavyObject(); // bigArray не удаляется сборщиком мусора

Чтобы избежать утечек:

  1. Удаляйте ненужные ссылки явно (bigArray = null)
  2. Избегайте циклических ссылок в замыканиях
  3. Используйте слабые ссылки (WeakMap, WeakSet) при работе с большими объектами
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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