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