在 JavaScript 中,WeakMap.delete() 方法从 WeakMap 中删除指定的元素。
此方法采用一个参数:“key”,该参数表示要从 WeakMap 对象中删除的键值对。调用该方法时,它会检查 WeakMap 对象中是否存在指定的键,如果找到,则相应的键值对将从 Map 中删除,并返回 “true” 作为结果。但是,如果在 WeakMap 对象中找不到指定的键,则此方法返回 “false”。
语法
以下是 JavaScript WeakMap.delete() 方法的语法 -
weakMapInstance.delete(key)
参数
此方法只接受一个参数。下面描述相同 -
- key − 要删除的键值对的键。
返回值
此方法返回 Boolean 值作为结果。
示例 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
在下面的示例中,delete() 方法是在 WeakMap 中不存在的键上调用的 -
<html>
<body>
<script>
let weakMap = new WeakMap();
let key = { id: 1 };
document.write(weakMap.delete(key));
</script>
</body>
</html>
如果我们执行上述程序,它将返回 false.