Junior — Middle
JavaScript'te bellek yönetimi ve nesnelerin otomatik temizlenmesi nasıl gerçekleştirilir, açıklayabilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
JavaScript'te bellek yönetimi otomatik olarak çöp toplama (garbage collection) mekanizmasıyla gerçekleşir. Nesneler oluşturulduğunda, yığında (heap) bellek kullanırlar. Çöp toplayıcı, periyodik olarak artık kullanılmayan nesneleri kontrol eder — yani, aktif koddan referansları kalmamış nesneleri — ve kullandıkları belleği serbest bırakır.
Ana algoritma referans sayımı ve erişilebilir nesnelerin aranmasıdır (mark-and-sweep). Örneğin, bir değişken bir nesneye referans veriyorsa, o nesne canlı sayılır. Referanslar kaybolursa, nesne silinmek üzere aday olur.
Örnek:
let obj = { name: "test" };
obj = null; // artık nesne erişilebilir değil ve çöp toplayıcı tarafından temizlenecek
Bu şekilde, programcı belleği manuel olarak serbest bırakmak zorunda kalmaz, bu da bellek sızıntılarıyla ilgili hataların olasılığını azaltır.