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