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

Как избавиться от утечки памяти

Утечки памяти в JavaScript часто возникают из-за неочищенных подписок на события, таймеров или ссылок на DOM-элементы. Основные способы избежать их:

  1. Отписывайтесь от событий:
js
const button = document.getElementById('btn');
const handler = () => console.log('click');
button.addEventListener('click', handler);

// При удалении:
button.removeEventListener('click', handler);

text

2. **Очищайте таймеры**:
```js
const timer = setInterval(() => {}, 1000);
clearInterval(timer); // когда больше не нужен
  1. Избегайте глобальных переменных - храните данные только пока они нужны.

  2. Используйте WeakMap/WeakSet для хранения временных ссылок на объекты.

  3. В React/Vue:

  • Удаляйте подписки в useEffect cleanup или beforeUnmount
  • Избегайте циклических ссылок в хранилищах (Redux, Vuex)

Для обнаружения утечек используйте DevTools Memory Profiler.

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

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

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

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