SobesLab логотип SobesLab

Ответ

Утечка памяти – это ситуация, когда программа удерживает ссылки на объекты, которые уже не нужны, из-за чего сборщик мусора не может освободить память. В JavaScript утечки памяти могут возникать, например, при размещении объектов в глобальной области (они остаются на всё время работы приложения), при создании замыканий, удерживающих большие структуры неосвобождёнными, или при забытом очищении таймеров/обработчиков (они хранят ссылки на объекты). Чтобы избежать утечек, следует: освобождать ненужные ссылки (обнулить свойства, удалить обработчики событий, очищать массивы, если они больше не нужны), избегать создания ненужных глобальных переменных, следить за замыканиями (не хранить в замыкании избыточные данные). В современных браузерах крупные утечки – редкость, но внимательность требуется, особенно в долгоживущих одностраничных приложениях.