WeakMap ve WeakSet nedir, Map ve Set'ten farkları nelerdir?

Cevap

WeakMap ve WeakSet anahtarlarını (WeakSet'te elemanlarını) zayıf referansla tutar: anahtar nesneye başka hiçbir referans kalmadığında çöp toplayıcı onu silebilir ve kayıt kendiliğinden kaybolur.

Map / SetWeakMap / WeakSet
Anahtar tipiHer şeyYalnızca nesne (ve kayıtlı olmayan symbol)
Gezilebilir mi?Evet (size, for...of)Hayır
Bellek sızıntısı riskiAnahtar silinmezse varYok

Kullanım alanları: DOM elemanlarına ek veri bağlamak, önbellek (memoization), nesnelere özel (private) veri eklemek.

const tiklamaSayisi = new WeakMap();
function say(el) {
  tiklamaSayisi.set(el, (tiklamaSayisi.get(el) ?? 0) + 1);
}
// el DOM'dan kaldırılıp referansı kalmayınca kayıt da silinir
  1. var, let ve const arasındaki fark nedir?KolayJavaScriptFrontend
  2. == ile === arasındaki fark nedir?KolayJavaScriptFrontend
  3. Closure nedir? Bir örnekle açıklayın.OrtaJavaScriptFrontend
  4. Aşağıdaki kodun çıktısı nedir? (Event loop)OrtaJavaScriptFrontend
  5. this anahtar kelimesi nasıl belirlenir? Arrow function'larda ne değişir?OrtaJavaScriptFrontend
  6. Bir debounce fonksiyonu yazın.ZorJavaScriptFrontend

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle