WeakMap() constructor
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
TheWeakMap()
constructor createsWeakMap
objects.
Syntax
Parameters
iterable
An
Array
or otheriterable object that produces a two-element array-like object whose first element is a value that will be used as aWeakMap
key and whose second element is the value to associate with that key. Each key-value pair will be added to the newWeakMap
.null
is treated asundefined
.
Examples
Using WeakMap
js
const wm1 = new WeakMap();const wm2 = new WeakMap();const wm3 = new WeakMap();const o1 = {};const o2 = () => {};const o3 = window;wm1.set(o1, 37);wm1.set(o2, "azerty");wm2.set(o1, o2); // a value can be anything, including an object or a functionwm2.set(o3, undefined);wm2.set(wm1, wm2); // keys and values can be any objects. Even WeakMaps!wm1.get(o2); // "azerty"wm2.get(o2); // undefined, because there is no key for o2 on wm2wm2.get(o3); // undefined, because that is the set valuewm1.has(o2); // truewm2.has(o2); // falsewm2.has(o3); // true (even if the value itself is 'undefined')wm3.set(o1, 37);wm3.get(o1); // 37wm1.has(o1); // truewm1.delete(o1);wm1.has(o1); // false
Specifications
Specification |
---|
ECMAScript® 2026 Language Specification # sec-weakmap-constructor |