Latihan 1 dari materi WeakMap & WeakSet di JavaScript — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Lengkapi buatPenghitung(). WeakMap counts sudah dibuat di editor. Isi dua method-nya:
hitung(obj) menambah 1 ke hitungan milik obj. Ambil nilai lamanya dengan counts.get(obj), pakai || 0 kalau belum ada, tambah 1, lalu simpan dengan counts.set(obj, ...).
lihat(obj) mengembalikan hitungan milik obj, dibaca dari counts.
Contoh: const p = buatPenghitung() dan const a = {}. Sesudah p.hitung(a) dua kali, p.lihat(a) mengembalikan 2.
Hint
Kedua method memakai WeakMap counts yang sama: hitung menulis ke situ, lihat membaca dari situ.
counts.get(obj) mengambil hitungan lama (undefined kalau belum ada, jadi tambah || 0). counts.set(obj, nilaiBaru) menyimpannya. lihat cukup me-return counts.get(obj).