Sobes.tech
Junior — Middle

JavaScript-də yaddaş idarəetməsi və obyektlərin avtomatik təmizlənməsi necə həyata keçirilir, izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

JavaScript-də yaddaş idarəetməsi avtomatik olaraq tullantıların toplanması mexanizmi (garbage collection) vasitəsilə həyata keçirilir. Ob'ektlər yaradıldıqda, onlar yığma yaddaşda yer tuturlar. Tullantıların toplanıcısı müntəzəm olaraq istifadə olunmayan obyektləri yoxlayır — yəni, aktiv koddan heç bir istinad olmayan obyektlər — və onların tutduğu yaddaşı azad edir.

Əsas algoritm referans sayımı və əlçatan obyektlərin axtarışıdır (mark-and-sweep). Məsələn, əgər dəyişən obyektə istinad edirsə, o canlı sayılır. Əgər istinadlar yox olursa, obyekt silinmək üçün namizəd olur.

Nümunə:

let obj = { name: "test" };
obj = null; // indi obyekt əlçatan deyil və tullantıların toplanıcısı tərəfindən təmizlənəcək

Beləliklə, proqramçı yaddaşı əl ilə sərbəst buraxmağa ehtiyac duymur, bu da yaddaş sızıntıları ilə əlaqəli səhvlərin ehtimalını azaldır.