Puteți explica cum se gestionează memoria și curățarea automată a obiectelor în JavaScript?
sobes.tech AI
Răspuns de la AI
În JavaScript, gestionarea memoriei se face automat prin mecanismul de colectare a gunoiului (garbage collection). Când sunt create obiecte, acestea ocupă memorie în heap. Colectorul de gunoi verifică periodic care obiecte nu mai sunt utilizate — adică, nu mai există referințe din codul activ — și eliberează memoria ocupată de acestea.
Algoritmul principal este numărătoarea referințelor și căutarea obiectelor accesibile (mark-and-sweep). De exemplu, dacă o variabilă face referire la un obiect, acesta este considerat viu. Dacă referințele dispar, obiectul devine candidat pentru ștergere.
Exemplu:
let obj = { name: "test" };
obj = null; // acum obiectul nu mai este accesibil și va fi curățat de colectorul de gunoi
Astfel, programatorul nu trebuie să elibereze manual memoria, ceea ce reduce probabilitatea de erori legate de scurgeri de memorie.