JS Map Set Weakmap Weakset
Ringkasan
Map/Set koleksi by-key/unique dengan API jelas. WeakMap/WeakSet pegang referensi lemah (GC-friendly).
Konsep Dasar
Map: key apa saja (objek/primitif),get/set/has/delete,size.Set: nilai unik, berguna dedupe.WeakMap/WeakSet: key harus object, tidak cegah GC, tidak bisa iterate.- Gunakan Map bila butuh key non-string (vs Object).
Cara Kerja / Struktur
const m = new Map(); m.set(obj, "data");
const s = new Set([1,2,2,3]); // {1,2,3}
const wm = new WeakMap(); wm.set(el, meta); // el bisa di-GCCatatan Implementasi
- Map mempertahankan insertion order (baik untuk cache berurutan).
- WeakMap pas untuk attach data ke DOM tanpa leaks.
Kesalahan Umum
- Pakai Object padahal butuh key objek → pakai Map.
- Iterasi WeakMap (tidak bisa) → gunakan Map bila perlu iterate.
Glosarium
- Weak reference: referensi yang tidak mencegah garbage collection.
- Dedupe: menghilangkan duplikat (via Set).