在 JavaScript 中,WeakMap.has() 方法用于验证 WeakMap 对象中是否存在具有指定键的元素。
此方法将元素的 “key” 作为参数,以验证它是否存在于 Map 对象中,并返回布尔值作为结果。如果 Map 中存在指定的键,则返回 “true”。否则,它将返回 “false”。
如果 Map 中存在键,并且键值对中的相应值为“undefined”,则 WeakMap.has() 方法仍返回“true”。
语法
以下是 JavaScript WeakMap.has() 方法的语法 -
has(key)
参数
此方法只接受一个参数。下面描述相同 -
- key − 要在 WeakMap 中搜索的 key。
返回值
此方法返回 Boolean 值作为结果。
示例 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 有一个值为 'undefined' 的键 'key1' -
<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” 作为结果。