JavaScript - WeakMap has() 方法
在 JavaScript 中,WeakMap.has() 方法用于验证 WeakMap 对象中是否存在具有指定键的元素。
此方法以元素的 "key" 作为参数,验证该元素是否存在于 Map 对象中,并返回布尔值。如果指定的键存在于 Map 中,则返回"true"。否则,返回"false"。
如果 Map 中存在某个键,并且键值对中对应的值为"undefined",则 WeakMap.has() 方法仍然返回"true"。
语法
以下是 JavaScript WeakMap.has() 方法的语法 -
has(key)
参数
此方法仅接受一个参数。下文同样描述 -
key - 在 WeakMap 中搜索的键。
返回值
此方法返回布尔值作为结果。
示例
示例 1
在下面的示例中,我们使用 JavaScript WeakMap.has() 方法检查此 WeakMap 中是否存在具有指定键("key1")的元素 -
<html>
<body>
<script>
let weakMap = new WeakMap();
let key1 = {};
let key2 = {};
weakMap.set(key1, "apple");
weakMap.set(key2, "banana");
document.write(weakMap.has(key1));
</script>
</body>
</html>
上述程序返回"true",因为键"key1"存在于 WeakMap 中。
示例 2
这里,我们尝试检查一个具有指定键 'key2' 的元素,该键在 WeakMap 对象中不存在 -
<html>
<body>
<script>
let weakMap = new WeakMap();
let key1 = {};
let key2 = {};
weakMap.set(key1, "apple");
document.write(weakMap.has(key2));
</script>
</body>
</html>
上述程序返回"false",因为 WeakMap 中不存在键"key2"。
示例 3
在此示例中,WeakMap 的键"key1"的值为"undefined" -
<html>
<body>
<script>
let weakMap = new WeakMap();
let key1 = {};
let key2 = {};
weakMap.set(key1, undefined);
weakMap.set(key2, "banana");
document.write(weakMap.has(key1));
</script>
</body>
</html>
上述程序返回 true,因为"key1"存在,即使其值未定义。
示例 4
如果没有向 get() 方法传递任何参数,则返回"false"作为结果 -
<html>
<body>
<script>
let weakMap = new WeakMap();
let key1 = {};
let key2 = {};
weakMap.set(key1, "apple");
weakMap.set(key2, "banana");
document.write(weakMap.has());
</script>
</body>
</html>
如果我们执行上述程序,它将返回"false"作为结果。

