JavaScript - WeakMap delete() 方法
在 JavaScript 中,WeakMap.delete() 方法用于从 WeakMap 中删除指定元素。
此方法接受一个参数:"key",表示要从 WeakMap 对象中删除的键值对。调用此方法时,它会检查 WeakMap 对象中是否存在指定的键。如果找到,则从 Map 中删除相应的键值对,并返回结果"true"。如果在 WeakMap 对象中找不到指定的键,则此方法返回"false"。
语法
以下是 JavaScript WeakMap.delete() 方法的语法 -
weakMapInstance.delete(key)
参数
此方法仅接受一个参数。下文同样描述 -
key - 要删除的键值对的键。
返回值
此方法返回布尔值作为结果。
示例
示例 1
在下面的示例中,我们使用 JavaScript WeakMap.delete() 方法从 WeakMap 中删除单个键值对 -
<html>
<body>
<script>
let weakMap = new WeakMap();
let key = { id: 1 };
weakMap.set(key, "apple");
document.write(weakMap.delete(key), "<br>");
document.write(weakMap.has(key));
</script>
</body>
</html>
删除后,has() 方法会检查该键是否仍然存在,如果存在则返回"false"。
示例 2
在此示例中,delete() 方法被调用两次,以删除两个键值对 -
<html>
<body>
<script>
let weakMap = new WeakMap();
let key1 = { id: 1 };
let key2 = { id: 2 };
weakMap.set(key1, "apple");
weakMap.set(key2, "banana");
document.write(weakMap.delete(key1), "<br>"); //true
document.write(weakMap.delete(key2), "<br>"); //true
document.write(weakMap.has(key1), "<br>"); //false
document.write(weakMap.has(key2)); //false
</script>
</body>
</html>
两次删除操作完成后,has() 方法会检查键是否仍然存在,如果存在则返回"false"。
示例 3
在下面的示例中,对 WeakMap 中不存在的键调用了 delete() 方法 -
<html>
<body>
<script>
let weakMap = new WeakMap();
let key = { id: 1 };
document.write(weakMap.delete(key));
</script>
</body>
</html>
如果我们执行上述程序,它将返回 false。

