WeakMap.prototype.set()
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Theset()
method ofWeakMap
instances adds a new element with a specified keyand value to thisWeakMap
.
Try it
const weakmap1 = new WeakMap();const object1 = {};const object2 = {};weakmap1.set(object1, "foo");weakmap1.set(object2, "bar");console.log(weakmap1.get(object1));// Expected output: "foo"console.log(weakmap1.get(object2));// Expected output: "bar"
Syntax
js
set(key, value)
Parameters
key
Must be either an object or anon-registered symbol. The key of the entry to add to the
WeakMap
object.value
Any value representing the value of the entry to add to the
WeakMap
object.
Return value
TheWeakMap
object.
Exceptions
TypeError
Thrown if
key
is not an object or anon-registered symbol.
Examples
Using the set() method
js
const wm = new WeakMap();const obj = {};// Add new elements to the WeakMapwm.set(obj, "foo").set(window, "bar"); // chainable// Update an element in the WeakMapwm.set(obj, "baz");// Using a non-registered symbol as keyconst sym = Symbol("foo");wm.set(sym, "baz");wm.set(Symbol.iterator, "qux");
Specifications
Specification |
---|
ECMAScript® 2026 Language Specification # sec-weakmap.prototype.set |