JavaScript - WeakMap 的 has() 方法



在 JavaScript 中,WeakMap.has() 方法用於驗證 WeakMap 物件中是否存在具有指定鍵的元素。

此方法將元素的“鍵”作為引數,以驗證它是否存在於 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”,因為鍵“key2”不存在於 WeakMap 中。

示例 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' 存在,即使其值為 undefined。

示例 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”作為結果。

廣告