WeakMap.prototype.set()
En esta página
The set() method of {{jsxref("WeakMap")}} instances adds a new entry with a specified key and value to this WeakMap, or updates an existing entry if the key already exists.
{{InteractiveExample("JavaScript Demo: WeakMap.prototype.set()")}}
```js interactive-example const weakmap = new WeakMap(); const object1 = {}; const object2 = {};
weakmap.set(object1, "foo"); weakmap.set(object2, "bar");
console.log(weakmap.get(object1)); // Expected output: "foo"
console.log(weakmap.get(object2)); // Expected output: "bar"
## Syntax
```js-nolint
set(key, value)
Parameters#
key- : The key of the entry to add to or modify within the
WeakMapobject. Must be either an object or a non-registered symbol. Object keys are compared by reference, not by value. value- : The value of the entry to add to or modify within the
WeakMapobject. Can be any value.
Return value#
The WeakMap object.
Exceptions#
- {{jsxref("TypeError")}}
- : Thrown if
keyis not an object or a non-registered symbol.
Examples#
Using set()#
const wm = new WeakMap();
const obj = {};
// Add new elements to the WeakMap
wm.set(obj, "foo").set(window, "bar"); // chainable
// Update an element in the WeakMap
wm.set(obj, "baz");
// Using a non-registered symbol as key
const sym = Symbol("foo");
wm.set(sym, "baz");
wm.set(Symbol.iterator, "qux");
Specifications#
{{Specifications}}
Browser compatibility#
{{Compat}}
See also#
- {{jsxref("WeakMap")}}
- {{jsxref("WeakMap.prototype.delete()")}}
- {{jsxref("WeakMap.prototype.get()")}}
- {{jsxref("WeakMap.prototype.has()")}}