如何更新 WeakMap 中现有键的值?

问题描述

我在 MDN 上找不到任何示例。我想出了这个,

const simpleMap = new WeakMap()

const simpleObject = {};

simpleMap.set(simpleObject,"A Value");

if(simpleMap.has(simpleObject)) {
  simpleMap.set(simpleObject,"A New Value");
 }

这种方式是否正确,还是我应该在这样做之前先删除密钥?

解决方法

您可以直接更新。

const simpleMap = new WeakMap()

const simpleObject = {};

simpleMap.set(simpleObject,"A Value");

if (simpleMap.has(simpleObject)) {
    simpleMap.set(simpleObject,"A New Value");
}

console.log(simpleMap.get(simpleObject));