JavaScript - WeakMap delete() 方法



在 JavaScript 中,WeakMap.delete() 方法用於從 WeakMap 中刪除指定的元素。

此方法接受一個引數:"key",表示要從 WeakMap 物件中刪除的鍵值對。當呼叫此方法時,它會檢查 WeakMap 物件中是否存在指定的鍵,如果找到,則會從 Map 中刪除相應的鍵值對並返回 "true"。但是,如果在 WeakMap 物件中找不到指定的鍵,則此方法返回 "false"。

語法

以下是 JavaScript WeakMap.delete() 方法的語法:

weakMapInstance.delete(key)

引數

此方法只接受一個引數。如下所述:

  • key − 要刪除的鍵值對的鍵。

返回值

此方法返回布林值作為結果。

示例

示例 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。

廣告