Sobes.tech
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.