ES6小知識續集
阿新 • • 發佈:2022-03-24
1:set的一些使用
1 //建立set結構 2 const arr = new Set() 3 arr.add(30) 4 arr.add(40) 5 arr.add(50) 6 //set裡面元素不能重複 7 arr.add(30) 8 console.log(arr); 9 //應用場景 陣列去重 10 const arr1 = [10, 20, 10, 30, 40, 50] 11 const names = ['lili', 'qiiq', 'yaya'] 12 const setarr1 = new Set(arr1) 13 const setarr2 = new Set(arr1) 14//set支援展開運算子 15 const set2 = [...setarr1] 16 //轉換成為陣列 17 const set3 = Array.from(setarr1) 18 console.log(setarr1); 19 console.log(set2); 20 console.log(set3); 21 //size屬性 22 console.log(setarr1.size); 23 //set方法 24 setarr1.add(60) 25 setarr1.delete(20) 26 setarr2.clear() 27 setarr2.has(20) 28 setarr1.has(20)29 //遍歷 30 setarr1.forEach(element => { 31 console.log(element); 32 }); 33 for (const item of setarr1) { 34 console.log(item); 35 }
2:WeakSet和Set的區別
區別:只能儲存物件型別,不能存放基本資料型別 WeakSet物件是一個弱引用
從根物件開始,有引用指著就不會被回收
強引用 strong reference 在GC回收時候是有效的
弱引用 weak reference GC不把弱引用當條線
總結弱引用:通過線獲取值,但是可以直接回收
應用場景:想要只能建立的物件才能呼叫某方法