Junior — Middle
Môžete vysvetliť, ako sa v JavaScripte vykonáva správa pamäte a automatické čistenie objektov?
sobes.tech AI
Odpoveď od AI
V JavaScripte sa spravuje pamäť automaticky pomocou mechanizmu zberu odpadu (garbage collection). Keď sa vytvoria objekty, zaberajú pamäť na halde. Zberač odpadu pravidelne kontroluje, ktoré objekty už nie sú používané — teda na ktoré nemajú odkazy z aktívneho kódu — a uvoľňuje im zaberajúcu pamäť.
Hlavný algoritmus je počítanie odkazov a hľadanie dostupných objektov (mark-and-sweep). Napríklad, ak premenná odkazuje na objekt, považuje sa za živý. Ak odkazy zmiznú, objekt sa stáva kandidátom na odstránenie.
Príklad:
let obj = { name: "test" };
obj = null; // teraz je objekt nedostupný a bude vyčistený garbage collectorom
Týmto spôsobom programátor nemusí manuálne uvoľňovať pamäť, čo znižuje pravdepodobnosť chýb spojených s únikom pamäti.