Open In App

What is a WeakMap Object in JavaScript ?

Last Updated : 31 Jan, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

WeakMap is a collection of key-value pairs where keys must be objects, and values can be any values. Unlike a regular Map, it holds weak references to keys, allowing them to be garbage-collected if no other references exist. It is often used to associate private data with objects without causing memory leaks and lacks methods for direct iteration to maintain privacy.

Example: Here, the key1 and key2 objects are used as keys in the WeakMap. If there are no external references to key1, it becomes eligible for garbage collection, and the corresponding entry in the WeakMap will be automatically removed.

Javascript




// Creating a WeakMap
const myWeakMap = new WeakMap();
 
// Creating key objects
const key1 = {};
const key2 = {};
 
// Associating values with weak references
myWeakMap.set(key1, 'Value for key1');
myWeakMap.set(key2, 'Value for key2');
 
// Retrieving values
console.log(myWeakMap.get(key1));
console.log(myWeakMap.get(key2));
 
 
// At this point, the association
// between key1 and its value is weak
console.log(myWeakMap.get(key1));


Output

Value for key1
Value for key2
Value for key1

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads