JavaScript - WeakMap.set() 方法
在 JavaScript 中,WeakMap.set() 方法用于在 WeakMap 对象中添加或更新键值对。
此方法接受两个参数:"key" 和 "value"。如果 WeakMap 中已存在该键,则与该键关联的值将更新为提供的新值。如果该键不存在,则会向 WeakMap 添加一个新的键值对。此方法返回 WeakMap 对象本身,允许方法链式调用。
此方法几乎兼容所有浏览器,例如 Chrome、Edge、Firefox、Opera 和 Safari。
语法
以下是 JavaScript WeakMap.set() 方法的语法 -
set(key, value)
参数
此方法接受两个参数。下文将对此进行描述 -
key - 它是 WeakMap 对象中需要添加或更新的键。
value - 它是 WeakMap 对象中需要添加或更新的值。
返回值
此方法的返回值是 WeakMap 对象本身,允许方法链式调用。
示例
示例 1
在下面的示例中,我们使用 JavaScript WeakMap.set() 方法向 WeakMap 对象添加一个新的键值对 -
<html>
<body>
<script>
const weakMap = new WeakMap();
const key = { id: 1 };
weakMap.set(key, 'varun');
document.write(weakMap.get(key))
</script>
</body>
</html>
执行上述程序后,它将返回与所提供键("key")关联的值("varun")。
示例 2
在下面的示例中,我们将多个键值对添加到一个空的 WeakMap 对象中 -
<html>
<body>
<script>
const weakMap = new WeakMap();
const key1 = { id: 1 };
const key2 = { id: 2 };
const key3 = { id: 3 };
weakMap.set(key1, 'varun');
weakMap.set(key2, 'rohit');
weakMap.set(key3, 'zayn');
document.write(weakMap.get(key1), "<br>")
document.write(weakMap.get(key2), "<br>")
document.write(weakMap.get(key3))
</script>
</body>
</html>
它将返回与提供的键("key1"、"key2"、"key3")关联的所有值("varun"、"rohit"、"zayn")。
示例 3
在此示例中,我们使用 JavaScript set() 方法更新现有键的值 -
<html>
<body>
<script>
const weakMap = new WeakMap();
const key = { id: 1 };
weakMap.set(key, 'varun');
weakMap.set(key, 'rohit');
weakMap.set(key, 'nikhil');
document.write(weakMap.get(key))
</script>
</body>
</html>
它将返回键"1"新插入的"值"(nikhil)作为结果。
示例 4
此处,set() 方法被链接起来,以便在单个语句中将多个键值对添加到空的 WeakMap 对象中 -
<html>
<body>
<script>
let weakMap = new WeakMap();
let key1 = {};
let key2 = {};
let key3 = {};
weakMap.set(key1, 'apple').set(key2, 'banana').set(key3, 'cherry');
document.write(weakMap.get(key1), "<br>");
document.write(weakMap.get(key2), "<br>");
document.write(weakMap.get(key3));
</script>
</body>
</html>
如果我们执行上述程序,它将返回所有键的"值"作为结果。

