Junior — Middle
Можете ли да обясните как се управлява паметта и автоматичното почистване на обектите в JavaScript?
sobes.tech AI
Отговор от AI
В JavaScript управлението на паметта се извършва автоматично чрез механизма за събиране на отпадъци (garbage collection). Когато се създават обекти, те заемат памет в купчината (heap). Събирачът на отпадъци периодично проверява кои обекти вече не се използват — тоест, към тях няма препратки от активен код — и освобождава заетата от тях памет.
Основният алгоритъм е броенето на препратки и търсенето на достижими обекти (mark-and-sweep). Например, ако променлива препраща към обект, той се счита за жив. Ако препратките изчезнат, обектът става кандидат за изтриване.
Пример:
let obj = { name: "test" };
obj = null; // сега обектът не е достъпен и ще бъде почистен от събирача на отпадъци
По този начин програмистът не трябва ръчно да освобождава паметта, което намалява вероятността от грешки, свързани с течове на памет.