📅  最后修改于: 2023-12-03 15:16:07.446000             🧑  作者: Mango
在JavaScript中,WeakMap是一种基于对象的数据结构,用于存储对象的键值对,其中键是弱引用的。WeakMap的delete()方法用于删除指定键所对应的值,如果对应的键值对不存在则不会导致任何错误。
myWeakMap.delete(key);
myWeakMap
:被操作的WeakMap对象。key
:需要删除的键名。delete()
方法返回一个布尔值,表示是否删除成功。如果指定键名对应的键值不存在,则返回false
,否则返回true
。
//创建一个WeakMap对象并添加键值对
let myWeakMap = new WeakMap();
let obj1 = {};
let obj2 = {};
myWeakMap.set(obj1, 123);
myWeakMap.set(obj2, 'hello');
//删除一个存在的键值对
let result1 = myWeakMap.delete(obj1);
console.log(result1); // true
//删除一个不存在的键值对
let result2 = myWeakMap.delete({});
console.log(result2); // false
//再次删除已经删除的键值对
let result3 = myWeakMap.delete(obj1);
console.log(result3); // false
在上面的示例中,我们首先创建了一个空的WeakMap对象,并添加了两个键值对。然后通过delete()
方法删除了一个已经存在的键值对和一个不存在的键值对,最后再次尝试删除已经被删除的键值对。在每个删除操作后,我们调用console.log()
打印返回值来判断是否删除成功。