Junior — Middle
Můžete vysvětlit, jak je v JavaScriptu prováděno řízení paměti a automatické čištění objektů?
sobes.tech AI
Odpověď od AI
V JavaScriptu je správa paměti zajišťována automaticky pomocí mechanismu sběru odpadu (garbage collection). Při vytváření objektů zabírají místo v haldě. Sběrač odpadu pravidelně kontroluje, které objekty již nejsou používány — tedy na které neexistují odkazy z aktivního kódu — a uvolňuje jejich zabranou paměť.
Hlavní algoritmus je počítání odkazů a hledání dosažitelných objektů (mark-and-sweep). Například, pokud proměnná odkazuje na objekt, je považován za živý. Pokud odkazy zmizí, objekt se stává kandidátem na odstranění.
Příklad:
let obj = { name: "test" };
obj = null; // nyní je objekt nedosažitelný a bude vyčištěn garbage collectorem
Tímto způsobem programátor nemusí ručně uvolňovat paměť, což snižuje pravděpodobnost chyb spojených s úniky paměti.