WeakMap.prototype.getOrInsert() - JavaScript | MDN
Try it
const map = new WeakMap([[window, "foo"]]);
console.log(map.getOrInsert(window, "default"));
// Expected output: "foo"
console.log(map.getOrInsert({}, "default"));
// Expected output: "default"
Syntax
js
getOrInsert(key, defaultValue)
Parameters
key-
The key of the value to return from the
WeakMapobject. Must be either an object or a non-registered symbol. Object keys are compared by reference, not by value. defaultValue-
The value to insert and return if the key is not already present in the
WeakMapobject.
Return value
The value associated with the specified key in the WeakMap object. If the key can't be found, defaultValue is inserted and returned.
Exceptions
TypeError-
Thrown if
keyis not an object or a non-registered symbol.
Examples
Using getOrInsert()
js
const wm = new WeakMap();
const obj = {};
console.log(wm.get(obj)); // undefined
console.log(wm.getOrInsert(obj, "default")); // "default"
console.log(wm.get(obj)); // "default"
console.log(wm.getOrInsert(obj, "another default")); // "default"
Specifications
| Specification |
|---|
| ECMAScript® 2027 Language Specification # sec-weakmap.prototype.getorinsert |