浅谈WeakMap和Map的小知识

废话不多说,直接上代码

let a = new Map()
let b = new WeakMap()

function abc () {
    const foo = {girl: 25}
    const boo = {girl: 26}

    a.set(foo, 1)
    b.set(boo, 2)
}
abc()

浅谈WeakMap和Map的小知识_第1张图片

执行代码后发现,foo在内存上的值并没有被js的垃圾回收机制回收,而boo则被垃圾回收机制给回收掉了。
由此可见,weakmap的key是弱引用,是不影响js的垃圾回收机制的。

你可能感兴趣的:(福利小技巧,javascript,开发语言,ecmascript)