成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

es6基礎(chǔ)0x014:WeakMap

luzhuqun / 704人閱讀

摘要:概述和使用上類似,在特性上和類似,和相比,有一下特點(diǎn)不可枚舉的只能是對(duì)象是弱引用,內(nèi)的如果沒(méi)有引用,將會(huì)被垃圾回收機(jī)制回收初始化添加刪除包含弱引用特性后輸出一下內(nèi)容,數(shù)據(jù)消失了

0x000 概述

WeakMapMap使用上類似,在特性上和Set類似,和Map相比,有一下特點(diǎn)

不可枚舉

WeakMapkey只能是對(duì)象

WeakMap是弱引用,WeakMap內(nèi)的key如果沒(méi)有引用,將會(huì)被垃圾回收機(jī)制回收

0x001 初始化
new WeakMap([[{},1]])
0x002 添加
let weakmap=new WeakMap()
weakmap.add({},"1")
weakmap.add({num:1},()=>{})
0x003 刪除
let obj={}
let weakmap=new WeakMap()
weakmap.add(obj,"1")
weakmap.add({},"2")
weakmap.delete(obj) //true
weakmap.delete({}) //false
0x004 包含
let obj={}
let weakmap=new WeakMap()
weakmap.add(obj,"1")
weakmap.has(obj)//true
weakmap.has({})//false
0x005 弱引用特性
let weakmap=new WeakMap([[{},1]])
setTimeout(()=>{console.log(weakmap)},3000)
// 3s后輸出一下內(nèi)容,數(shù)據(jù)消失了
WeakMap?{}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/99247.html

相關(guān)文章

  • ES6 - WeakMap

    Set有對(duì)應(yīng)的WeakSet, Map也有WeakMap。這一篇,我們就來(lái)學(xué)習(xí)一下WeakMap有寫什么特性。先來(lái)看一下WeakMap的基本特性: 1: WeakMap是一種存儲(chǔ)多個(gè)鍵值對(duì)的無(wú)序列表 2: WeakMap的鍵必須是非null的對(duì)象類型 3: WeakMap的鍵對(duì)應(yīng)的值,可以是任意類型 接下來(lái)看一下WeakMap的接口方法:一:WeakMap的新建與初始化與Map相同的,WeakM...

    Youngdze 評(píng)論0 收藏0
  • ES6 系列之 WeakMap

    摘要:一個(gè)對(duì)象若只被弱引用所引用,則被認(rèn)為是不可訪問(wèn)或弱可訪問(wèn)的,并因此可能在任何時(shí)刻被回收。也就是說(shuō),一旦不再需要,里面的鍵名對(duì)象和所對(duì)應(yīng)的鍵值對(duì)會(huì)自動(dòng)消失,不用手動(dòng)刪除引用。如果有錯(cuò)誤或者不嚴(yán)謹(jǐn)?shù)牡胤剑?qǐng)務(wù)必給予指正,十分感謝。 前言 我們先從 WeakMap 的特性說(shuō)起,然后聊聊 WeakMap 的一些應(yīng)用場(chǎng)景。 特性 1. WeakMap 只接受對(duì)象作為鍵名 const map = ...

    CollinPeng 評(píng)論0 收藏0
  • 數(shù)據(jù)結(jié)構(gòu)-棧

    摘要:棧是另外一種數(shù)據(jù)結(jié)構(gòu),類似于數(shù)組,但是在添加或刪除數(shù)據(jù)時(shí)更加靈活。棧數(shù)據(jù)結(jié)構(gòu)棧是一種后進(jìn)先出的數(shù)據(jù)結(jié)構(gòu)。這種情況下,可以直接通過(guò)修改來(lái)修改棧中的數(shù)據(jù),這是無(wú)法避免的。 前言 數(shù)組是 JS 中最常用的數(shù)據(jù)結(jié)構(gòu),它可以在任意位置添加或刪除數(shù)據(jù)。棧是另外一種數(shù)據(jù)結(jié)構(gòu),類似于數(shù)組,但是在添加或刪除數(shù)據(jù)時(shí)更加靈活。 棧數(shù)據(jù)結(jié)構(gòu) 棧是一種 后進(jìn)先出(LIFO) 的數(shù)據(jù)結(jié)構(gòu)。新添加或待刪除的元素都保...

    zhoutk 評(píng)論0 收藏0
  • 解讀 webconponents.js 中對(duì) ES6 WeakMap 的 shim (一)

    摘要:中對(duì)的要求主要是對(duì)非對(duì)象僅保留弱引用,且取值是復(fù)雜度,這導(dǎo)致了它的兩個(gè)特性不能求大小,更不能枚舉。按說(shuō)這種關(guān)乎內(nèi)存管理的對(duì)象是沒(méi)法的。但是對(duì)有一個(gè)很奇妙的。在中的每一個(gè)中設(shè)置一個(gè)屬性屬性名是的唯一。值為該在中對(duì)應(yīng)的。同時(shí)取值也是復(fù)雜度的。 ES6 中對(duì) WeakMap 的要求主要是對(duì) key(非 null 對(duì)象) 僅保留弱引用,且取值是 O(1) 復(fù)雜度,這導(dǎo)致了它的兩個(gè)特性: 不...

    Imfan 評(píng)論0 收藏0
  • React入門0x014: Fragment

    摘要:只有一個(gè)屬性,那就是栗子可展開收縮的表格源碼展開收起張三我很開心李四我也很開心王五我比張三和李四更開心效果 0x001 引出問(wèn)題 讓我們先來(lái)看一個(gè)栗子: class App extends React.Component { render() { return ( ) } } Reac...

    forrest23 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<