Quick actions

cmd+k|ctrl+k

Navigation

Languages

WeakMap & WeakSet

Snippet info

Language

JavaScript

Visibility

public

Author

nacht777

Created

2022-09-23T03:54:46.854791Z

Updated

2022-09-23T06:32:15.383905Z

// WeakMap mendukung Garbage Collection
// Garbage collection adalah proses di mana interpreter JavaScript mengambil kembali memori yang tidak lagi “dapat dijangkau” dan tidak dapat digunakan oleh program

// WeakMap

let visitsCountMap = new Map(); // Menyimpan daftar user

function countUser(user) {
    let count = visitsCountMap.get(user) || 0;
    visitsCountMap.set(user, count + 1);
}

let jonas = { name: "Jonas" };
countUser(jonas);                // Menambahkan user "Jonas"

jonas = null;                    // Data object "Jonas" dihapus

// delay dibutuhkan untuk menunggu garbage collector bekerja
setTimeout(function() {
   console.log(visitsCountMap);
}, 10000)

/* output
Map(1) { { name: 'Jonas' } => 1 }
*/
INFO