gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

新增的es6數據結構有哪些

新增結構有:1、Symbol,表示獨一無二的值,是一個函數結構;2、Set,指的是“集合”結構,類似數組,允許存放無序且不能重復的數據;3、WeakSet,類似Set,內部數據也不能有重復值;4、Map,指的是“字典”結構,可存儲映射關系。

新增的es6數據結構有哪些

本教程操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。

ES6新增數據結構

1、Symbol

SymbolES6中新增的一個基本數據類型之一,它是一個函數。每一個從Symbol函數返回的Symbol值都是獨一無二的,symbol值作為對象屬性的標識符,也是唯一的用途的。

const s1 = Symbol() const s2 = Symbol() console.log(s1 === s2); // false

symbol作為key

第一種方式,直接在對象的字面量中添加。

// symbol作為key const obj = {   [s1]:'abc',   [s2]:'cc', }

第二種方式,通過添加數組方式添加。

// 需要用數組方式來獲取,不能通過點語法,否則會獲取到字符串key console.log(obj[s1]);

第三種方式,通過對象中的defineProperty方法添加。

const s4=Symbol() Object.defineProperty(obj,s4,{   configurable:true,   enumerable:true,   writable:true,   value:'ff' })

通過symbol獲取對應的值

需要用數組方式來獲取,不能通過點語法,否則會獲取到字符串key。

console.log(obj[s1]);

symbol不能被隱式轉換成string類型。

注意:Symbol函數中的參數是symbol描述符,這是在ES10新增的特性

let Sym = Symbol("Sym") alert(Sym)  // TypeError: Cannot convert a Symbol value to a string

我們不能直接alert一個symbol對象,但是我們可以通過toString的方式或者.description來獲取symbol對象的描述符。

let sym = Symbol('a') console.log(sym.description); // 'a'

遍歷symbol

在使用for遍歷、object.keys中是獲取不到symbol健的,對此object還提供了getOwnPropertySymbols方法,用于獲取對象中所有symbol的key。

const sKeys=(Object.getOwnPropertySymbols(obj)); for(const skey of sKeys){   console.log(obj[skey]); }

全局symbol對象注冊

有時,我們可能需要多個symbol的值是一致的,我們可以通過symbol提供的靜態方法for方法傳入一樣的描述符來使它們的值一致。

Symbol.for

該方法會在使用給定鍵搜索運行時符號注冊表中的現有符號,并在找到時返回它。否則,使用此鍵在全局符號注冊表中創建一個新符號。

const sa=Symbol.for('cc') const sb=Symbol.for('cc') console.log(sa===sb); //true

Symbol.keyFor

該方法用于獲取全局symbol的描述符。

const key =Symbol.keyFor(sb) console.log(key); // c

2、Set

Set對象(類似數組)允許你存放任何數據類型,但里面的值不能重復。

const s1 = new Set() s1.add(10) s1.add(20) s1.add(30) s1.add(40)  console.log(s1) // Set(4) { 10, 20, 30, 40 }  s1.add(20) console.log(s1) // Set(4) { 10, 20, 30, 40 }

Set常用方法

方法 返回值 說明
size set對象中的數量 返回set對象中的數量
add Set對象 添加元素
delete boolean 刪除元素
has boolean Set對象中是否存在這個值
clear 清空Set對象中的值

3、WeakSet

WeakSet是類似Set的另外一種數據結構,內部數據也不能有重復值。

  • 它與Set的區別
    • WeakSet只能存放對象類型,不能存放基本數據類型
    • WeakSet對元素是弱引用

基本使用

const weakSet = new WeakSet(); let obj = {   name: "_island" };  weakSet.add(obj);

WeakSet常用方法

方法 返回值 說明
add weakset對象 添加元素
delete boolean 刪除元素
has boolean weakset對象中是否存在這個值

關于遍歷

WeakSet不能被遍歷,因為它只是對對象進行弱引用,如果遍歷去獲取元素,有可能導致對象不能被GC回收。

所以WeakSet中的對象是不能獲取的

4、Map

ES6新增的數據結構,用于存儲映射關系。我們知道在JavaScript中對象中是不能用對象來作為key的。(假如我們把對象作為key,其內部會將對象轉換為字符串[object object]

const obj1 = { name: "_island" }; const obj2 = { name: "QC2125" }; const obj3={   [obj1]:'a',   [obj2]:'b', }  console.log(obj3); // { '[object Object]': 'b' }

Map則可以把對象作為key進行存儲,可以通過set方法添加到Map中,也直接通過字面量的方式添加。

const obj1 = { name: "_island" }; const obj2 = { name: "QC2125" }; const map = new Map(); map.set(obj1, "a"); map.set(obj2, "b"); console.log(map); // Map(2) { { name: '_island' } => 'a', { name: 'QC2125' } => 'b' }  // or const map2 = new Map([[obj1,'a'],[obj2,'b']])

Map常用方法

方法 返回值 說明
get 獲取對應的元素 通過key獲取對應元素
size Map對象中的數量 返回Map對象中的數量
set Map對象 添加元素
delete boolean 刪除元素
has boolean Set對象中是否存在這個值
clear 清空Set對象中的值

遍歷Map

通過foreach語句遍歷Map

map2.forEach((item) => console.log(item));

通過for..of遍歷Map

for ([val, key] of map2) {   console.log(`${key}---${val}`); }

5、WeakMap

Map類似,也是以鍵值對的形式存在的

  • 和Map的區別
    • WeakMapkey只能使用對象,不接受其他的類型作為key
    • WeakMapkey對對象是弱引用

基本使用

const weakMap = new WeakMap(); weakMap.set(obj, "a"); console.log(weakMap.get(obj)); // a

WeakMap常用方法

方法 返回值 說明
get weakmap對象 獲取元素
delete boolean 刪除元素
has boolean weaksmap對象中是否存在這個值

關于遍歷

WeakSet一樣,正因為它是弱引用,WeakMapkey是不可枚舉的,如果key可枚舉那其列表將會受GC影響。

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
日韩成人手机在线| 亚洲第一综合网站| 我的公把我弄高潮了视频| 日韩精品视频一二三| 国产极品美女高潮无套久久久| 大地资源网在线观看免费官网| 最新天堂在线视频| 182午夜视频| 波多野结衣在线免费观看| 中文字幕亚洲影院| 97超碰人人看| 800av在线免费观看| 蜜桃视频一区二区在线观看| 伊人久久在线观看| 妺妺窝人体色www看人体| 亚洲熟妇无码一区二区三区| 欧美日韩激情四射| av在线免费观看国产| 免费毛片小视频| 能看的毛片网站| 老司机久久精品| 国产美女作爱全过程免费视频| 激情五月五月婷婷| 黄页免费在线观看视频| 免费在线激情视频| 天天综合天天添夜夜添狠狠添| 三级黄色片免费观看| av高清在线免费观看| 免费裸体美女网站| 自拍偷拍视频在线| 91精品91久久久中77777老牛| 狠狠热免费视频| 热这里只有精品| 日本在线观看a| 青青青在线视频免费观看| 国内av免费观看| 91黄色小网站| 在线观看污视频| 国产又大又黄又粗的视频| 狠狠精品干练久久久无码中文字幕| www.日本在线视频| 亚洲第一成肉网| 99视频精品免费| 欧美成人免费在线观看视频| 手机精品视频在线| 国产精品乱码久久久久| avav在线播放| 国产精品亚洲天堂| 99久久国产宗和精品1上映| 7777在线视频| 99九九99九九九99九他书对| 国产手机免费视频| 黄色网址在线免费看| 中文字幕av不卡在线| 日韩欧美国产免费| 国产freexxxx性播放麻豆| 天堂一区在线观看| 欧美精品成人网| 久久精品视频91| 玩弄japan白嫩少妇hd| 精品国产一二三四区| 国产激情片在线观看| 4444在线观看| 免费看黄色a级片| 国产在线观看欧美| 国产奶头好大揉着好爽视频| 国产农村妇女精品久久| 做a视频在线观看| 亚洲视频在线不卡| eeuss中文| 日韩精品免费一区| 大陆av在线播放| 国产乱子伦农村叉叉叉| 精品无码国模私拍视频| 日本a视频在线观看| 六月丁香激情网| 超碰在线97免费| 天天干天天曰天天操| 成人在线免费观看网址| 日本男女交配视频| 91丨porny丨探花| 亚洲成人av免费看| 青春草在线视频免费观看| 免费成人进口网站| 毛片在线播放视频| 国产成人黄色网址| 免费观看黄色大片| 亚洲人精品午夜射精日韩| 九九九九免费视频| 手机在线国产视频| 国产激情片在线观看| 国产精品无码av在线播放| www黄色av| 特级黄色录像片| 激情网站五月天| 艹b视频在线观看| av一区二区三区免费观看| 亚洲精品乱码久久久久久自慰 | 国产一级免费大片| 奇米777四色影视在线看| 激情五月开心婷婷| 特级西西444| 亚洲少妇第一页| 亚洲免费视频播放| 成人3d动漫一区二区三区| 亚洲免费在线播放视频| 国产超级av在线| 大桥未久一区二区三区| 黄色片在线免费| 成人免费观看在线| 99九九精品视频| 黄色一级二级三级| 国产91在线免费| 日韩在线观看a| 中文字幕超清在线免费观看| 黄色免费观看视频网站 | 九色在线视频观看| 免费看黄色a级片| 久久久精品视频国产| 久久精品网站视频| 97成人在线观看视频| 黄色三级中文字幕| 国产一二三四五| 国产又粗又长又爽又黄的视频| 日本三区在线观看| 国产精品免费入口| 3d动漫一区二区三区| 国产欧美123| 国产精彩视频一区二区| 不卡中文字幕在线| 性久久久久久久久久久久久久| 992kp快乐看片永久免费网址| 丝袜老师办公室里做好紧好爽| 一卡二卡三卡视频| 可以在线看的av网站| 欧美 国产 综合| 日本三级免费网站| 日本www.色| 日韩高清第一页| 亚洲精品mv在线观看| 久久久久久久久久毛片| 亚洲第一色av| 国产在线无码精品| 黄色大片在线免费看| 免费av网址在线| 午夜宅男在线视频| 三级网在线观看| 日韩极品视频在线观看| 国产精品50p| 五月天亚洲视频| 香蕉视频xxx| 国产美女网站在线观看| 大香煮伊手机一区| 亚洲综合激情五月| 国产综合av在线| 黑人粗进入欧美aaaaa| 99九九精品视频| 人妻无码一区二区三区四区| 欧美黑人经典片免费观看| 五月婷婷激情久久| 在线观看污视频| 能看的毛片网站| 国产a级黄色大片| 日韩一级在线免费观看| 中日韩av在线播放| 亚洲国产成人精品无码区99| 日日噜噜噜噜久久久精品毛片| 性欧美18一19内谢| 日韩av播放器| 人人妻人人做人人爽| 一道本在线免费视频| 日本xxx免费| 免费黄色一级网站| 人妻夜夜添夜夜无码av | 亚洲成人av免费看| 婷婷无套内射影院| 青娱乐国产精品视频| 日韩视频在线免费看| 男人日女人的bb| 91精产国品一二三产区别沈先生| 青青草国产免费| 日韩视频在线免费播放| 一道本在线免费视频| 日韩在线综合网| 精品国产一区二区三区无码| 老司机午夜性大片| 国产99久久九九精品无码| 免费日韩在线观看| 亚欧美一区二区三区| 国产精品自拍视频在线| 成年人免费在线播放| 国产精品国产亚洲精品看不卡| 一级黄色片播放| 手机在线免费毛片| av网站在线不卡| 九九九在线观看视频| 北条麻妃在线观看| 热99这里只有精品| 一区二区传媒有限公司| r级无码视频在线观看|