The set() method adds a new element with a specified key and value to a WeakMap object.
Syntax
wm.set(key, value);
Parameters
- key
- Required. The key of the element to add to the
WeakMapobject. - value
- Required. The value of the element to add to the
WeakMapobject.
Return value
The WeakMap object.
Examples
Using the set method
var wm = new WeakMap();
var 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");
Specifications
| Specification | Status | Comment |
|---|---|---|
| ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'WeakMap.prototype.set' in that specification. |
Standard | Initial definition. |
| ECMAScript 2017 Draft (ECMA-262) The definition of 'WeakMap.prototype.set' in that specification. |
Draft |
Browser compatibility
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | 36 | 6.0 (6.0) | 11 | 23 | 7.1 |
| Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| Basic support | No support | 6.0 (6.0) | No support | No support | 8 |
Firefox-specific notes
- Prior to Firefox 33 (Firefox 33 / Thunderbird 33 / SeaMonkey 2.30),
WeakMap.prototype.setreturnedundefinedand was not chainable. This has been fixed (bug 1031632). The behavior can be found in Chrome/v8 as well (issue).