This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The get() method of WeakMap instances returns the value corresponding to the key in this WeakMap, or undefined if there is none. Object values are returned as the same reference that was originally stored, not as a copy, so mutations to the returned object will be reflected anywhere that reference is held, including inside the WeakMap.
const weakmap = new WeakMap();
const object1 = {};
const object2 = {};
weakmap.set(object1, 42);
console.log(weakmap.get(object1));
// Expected output: 42
console.log(weakmap.get(object2));
// Expected output: undefined
get(key)
The value associated with the specified key in the WeakMap object. If the key can't be found, undefined is returned. Always returns undefined if key is not an object or a non-registered symbol.
const wm = new WeakMap();
wm.set(window, "foo");
wm.get(window); // Returns "foo".
wm.get("baz"); // Returns undefined.
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
get |
36 | 12 | 6Before Firefox 38, this method threw aTypeError when the key parameter was not an object. However, the ES2015 specification specifies to return undefined instead. Furthermore, WeakMap.prototype.get accepted an optional second argument as a fallback value, which is not part of the standard. Both non-standard behaviors are removed in version 38 and higher. |
23 | 8 | 36 | 6Before Firefox for Android 38, this method threw aTypeError when the key parameter was not an object. However, the ES2015 specification specifies to return undefined instead. Furthermore, WeakMap.prototype.get accepted an optional second argument as a fallback value, which is not part of the standard. Both non-standard behaviors are removed in version 38 and higher. |
24 | 8 | 3.0 | 37 | 8 | 1.0.0 | 1.0 | 0.12.0 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap/get