Junior — Middle
Можете ли објаснити како се управљањем меморије и аутоматским чишћењем објеката у JavaScript-у?
sobes.tech АИ
Одговор од АИ
У Јавасцрипту управљање меморијом се обавља аутоматски помоћу механизма сакупљања отпада (garbage collection). Када се креирају објекти, они заузимају меморију у хипу. Сакупљач отпада периодично проверава који објекти више нису у употреби — односно, на које нема референци из активног кода — и ослобађа њихову заузету меморију.
Главни алгоритам је бројање референци и претрага достижних објеката (mark-and-sweep). На пример, ако варијабла реферише на објекат, он се сматра живим. Ако референце исчезну, објекат постаје кандидат за брисање.
Пример:
let obj = { name: "test" };
obj = null; // сада објекат није доступан и биће очишћен од стране сакупљача отпада
На овај начин, програмер не мора ручно да ослобађа меморију, што смањује вероватноћу грешака повезаних са цурењем меморије.