摘要:概述和差不多,但是有一些不同只能存儲(chǔ)對(duì)象,不能存儲(chǔ)任意值不可迭代是弱引用,也就是如果沒有變量引用內(nèi)的值,很容易被回收初始化因?yàn)橹荒艽鎯?chǔ)對(duì)象,所以這里我想只能傳入類似對(duì)象數(shù)組之類的東西對(duì)象數(shù)組添加判斷是否已經(jīng)有了刪除弱引用特性后輸出,可以看到
0x000 概述
WeakSet和Set差不多,但是有一些不同:
WeakSet只能存儲(chǔ)對(duì)象,不能存儲(chǔ)任意值
WeakSet不可迭代
WeakSet是弱引用,也就是如果沒有變量引用WeakSet內(nèi)的值,很容易被回收
0x001 初始化new WeakSet([iterable]);
因?yàn)橹荒艽鎯?chǔ)對(duì)象,所以這里我想只能傳入類似對(duì)象數(shù)組之類的東西
對(duì)象數(shù)組
new WeakSet([{name:1},{name:2}]) //WeakSet(2){{name:1},{name:2}}0x002 添加
let weakset=new WeakSet() weakset.add({num:1}) weakset.add({num:2})0x003 判斷是否已經(jīng)有了
let data={num:1} let weakset=new WeakSet() weakset.add(data) weakset.add({num:2}) weakset.has(data) //true weakset.has({num:2}) //false0x004 刪除
let data={num:1} let weakset=new WeakSet() weakset.add(data) weakset.add({num:2}) weakset.delete(data) //true weakset.delete({num:2}) //false0x005 弱引用特性
let weakset=new WeakSet([{num:1}]) setTimeout(()=>console.log(weakset),3000) // 3s 后輸出,可以看到,數(shù)據(jù)沒了 WeakSet?{}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/99248.html
摘要:這幾意味著,在初始化和調(diào)用的時(shí)候,都只能傳入對(duì)象類型的元素。如果給方法傳入非對(duì)象類型,會(huì)拋出錯(cuò)誤。 在我們進(jìn)入在WeakSet的使用之前,我們先來看一個(gè)用Set來存儲(chǔ)對(duì)象引用的例子: let set = new Set(); let key = {}; set.add(key); key = null; console.log(set.size); // 1 console.log([...
摘要:一概述集合是引入的新的內(nèi)置對(duì)象類型,其特點(diǎn)同數(shù)學(xué)意義的集合,即集合內(nèi)所有元素不重復(fù)元素唯一。數(shù)組集合對(duì)比數(shù)組和集合,數(shù)組可以加入重復(fù)數(shù)據(jù),而集合的所有元素是唯一的不允許重復(fù)。因此,適合臨時(shí)存放一組對(duì)象,以及存放跟對(duì)象綁定的信息。 本文同步帶你入門 帶你入門 JavaScript ES6 (五) 集合,轉(zhuǎn)載請(qǐng)注明出處。 前面我們學(xué)習(xí)了: for of 變量和擴(kuò)展語法 塊作用域變量和解構(gòu)...
摘要:返回一個(gè)布爾值,表示該值是否為的成員。清除所有成員,沒有返回值。上面代碼中,方法返回的遍歷器,同時(shí)包括鍵名和鍵值,所以每次輸出一個(gè)數(shù)組,它的兩個(gè)成員完全相等。因此,適合臨時(shí)存放一組對(duì)象,以及存放跟對(duì)象綁定的信息。 Js大部分歷史時(shí)期都只存在一種集合類型,也就是數(shù)組類型。數(shù)組在 JS 中的使用正如其他語言的數(shù)組一樣,但缺少更多類型的集合導(dǎo)致數(shù)組也經(jīng)常被當(dāng)作隊(duì)列與棧來使用。數(shù)組只使用了數(shù)值...
摘要:返回一個(gè)布爾值,表示該值是否為的成員。返回鍵名的遍歷器返回鍵值的遍歷器返回鍵值對(duì)的遍歷器使用回調(diào)函數(shù)遍歷每個(gè)成員需要特別指出的是,的遍歷順序就是插入順序。該數(shù)組的所有成員,都會(huì)自動(dòng)成為實(shí)例對(duì)象的成員。這意味著,數(shù)組的成員只能是對(duì)象。 1.Set ES6 提供了新的數(shù)據(jù)結(jié)構(gòu) Set。它類似于數(shù)組,但是成員的值都是唯一的,沒有重復(fù)的值。Set 本身是一個(gè)構(gòu)造函數(shù),用來生成 Set 數(shù)據(jù)結(jié)構(gòu)...
摘要:概述反射說起來和上一章節(jié)的代理基本一樣,只是使用的方式不同,設(shè)計(jì)理念也不同。 0x000 概述 反射說起來和上一章節(jié)的代理基本一樣,只是使用的方式不同,設(shè)計(jì)理念也不同。 反射提供了一系列的靜態(tài)函數(shù),可以使用Reflect.function_name(...prams)調(diào)用,這一系列的方法和代理的處理器對(duì)象方法一致 0x001 apply 語法 Reflect.apply(targ...
閱讀 1020·2021-11-22 13:52
閱讀 1450·2021-11-19 09:40
閱讀 3184·2021-11-16 11:44
閱讀 1279·2021-11-15 11:39
閱讀 3913·2021-10-08 10:04
閱讀 5374·2021-09-22 14:57
閱讀 3108·2021-09-10 10:50
閱讀 3191·2021-08-17 10:13