Skip to content

关于WeakMap的一个问题 #362

Closed
Closed
@vtxf

Description

@vtxf

阮老师,你好!
打扰,问您一个问题。

Set 和 Map 数据结构一节讲到的 WeakMap 有这样一段代码:

var wm = new WeakMap();
var element = document.querySelector(".element");

wm.set(element, "Original");
wm.get(element) // "Original"

element.parentNode.removeChild(element);
element = null;
wm.get(element) // undefined

这个里面的这两句:

element = null;
wm.get(element) // undefined

是否可以理解为 wm.get(null),这样的话,貌似就和element没有关系了吧?
我是觉得wm.get(element)并没有办法来检测wm中是否存在没有赋值为null之前的element元素。不知是否有误?

我在chrome控制台上做了如下测试:
image
即使有另外一个变量alias引用了element,最后的结果也还是undefined。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions