久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

新增的es6數(shù)據(jù)結(jié)構(gòu)有哪些

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

新增的es6數(shù)據(jù)結(jié)構(gòu)有哪些

本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。

ES6新增數(shù)據(jù)結(jié)構(gòu)

1、Symbol

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

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

symbol作為key

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

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

第二種方式,通過添加數(shù)組方式添加。

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

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

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

通過symbol獲取對應的值

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

console.log(obj[s1]);

symbol不能被隱式轉(zhuǎn)換成string類型。

注意:Symbol函數(shù)中的參數(shù)是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提供的靜態(tài)方法for方法傳入一樣的描述符來使它們的值一致。

Symbol.for

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

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對象(類似數(shù)組)允許你存放任何數(shù)據(jù)類型,但里面的值不能重復。

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對象中的數(shù)量 返回set對象中的數(shù)量
add Set對象 添加元素
delete boolean 刪除元素
has boolean Set對象中是否存在這個值
clear 清空Set對象中的值

3、WeakSet

WeakSet是類似Set的另外一種數(shù)據(jù)結(jié)構(gòu),內(nèi)部數(shù)據(jù)也不能有重復值。

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

基本使用

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

WeakSet常用方法

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

關(guān)于遍歷

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

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

4、Map

ES6新增的數(shù)據(jù)結(jié)構(gòu),用于存儲映射關(guān)系。我們知道在JavaScript中對象中是不能用對象來作為key的。(假如我們把對象作為key,其內(nèi)部會將對象轉(zhuǎn)換為字符串[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對象中的數(shù)量 返回Map對象中的數(shù)量
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的區(qū)別
    • 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對象中是否存在這個值

關(guān)于遍歷

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

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
久久精品国产久精国产爱| 欧美精品国产白浆久久久久| 国产高清视频一区二区| 91精品91| 亚州av乱码久久精品蜜桃| 久久精品av| 亚洲欧美综合| 乱人伦精品视频在线观看| 蜜桃av一区二区三区电影| 综合激情网...| 日本强好片久久久久久aaa| 日韩精品久久久久久| 国产精品一区二区三区四区在线观看| 国产精品115| 欧美日韩视频网站| 亚洲精品va| 亚洲一级淫片| 国产精品一区二区免费福利视频| 国产欧美丝祙| 国产+成+人+亚洲欧洲在线| 久久久久欧美精品| 六月天综合网| 国产精品视频首页| 激情国产在线| 亚洲欧美日韩精品一区二区| 亚洲aa在线| 麻豆精品蜜桃视频网站| 久久久水蜜桃av免费网站| 99在线|亚洲一区二区| 亚洲精品第一| 国产精品v一区二区三区| 日韩av二区| 一本一道久久a久久精品蜜桃| 国产亚洲精品v| 日韩欧美激情| 福利视频一区| 老司机久久99久久精品播放免费| 欧美性www| se01亚洲视频 | 国产在线观看91一区二区三区| 中文字幕在线视频久| 99视频精品全国免费| 亚洲另类黄色| 在线手机中文字幕| 国产精品资源| 久久精品高清| 亚洲精品少妇| 中文字幕在线免费观看视频| 亚洲美女久久| 日韩电影免费网址| 日本亚洲三级在线| 日韩免费看片| 69堂免费精品视频在线播放| 999久久久亚洲| 欧美久久亚洲| 好看的av在线不卡观看| 麻豆久久久久久| 午夜亚洲精品| 久久久久久色| 91精品一区二区三区综合| 综合欧美亚洲| 亚洲成av人片一区二区密柚| 久久国产精品免费一区二区三区| 激情欧美一区| 精品视频在线一区二区在线| 日本大胆欧美人术艺术动态| 97精品一区二区| 日韩欧美在线精品| 国产真实久久| 老司机精品视频在线播放| 视频一区在线视频| 久久久久99| 久久亚洲黄色| 婷婷综合一区| 久久国产欧美| 国产欧美亚洲精品a| 好吊日精品视频| 91一区二区| 欧美一区成人| 国产农村妇女精品一区二区| 日韩毛片视频| 欧美永久精品| 久色成人在线| 人人精品亚洲| 国产一区二区三区探花| 久久国产高清| 免费污视频在线一区| 欧美极品中文字幕| 日韩国产一二三区| 好看的亚洲午夜视频在线| 国产va在线视频| 国产精品传媒麻豆hd| 视频精品一区二区| 欧美特黄一级| 激情综合自拍| 久久影院午夜精品| 欧美激情综合| 国产精品亚洲综合久久| 青青草91视频| 青青草国产精品亚洲专区无| 视频一区二区国产| 在线综合亚洲| 国产精品呻吟| 国产农村妇女精品一区二区| 99热精品久久| 欧洲av一区二区| 中文字幕在线视频久| 色爱综合网欧美| 一区二区精品伦理...| 国产一区二区三区探花| 精品72久久久久中文字幕| 久久午夜影院| 成人精品国产亚洲| 黄色在线网站噜噜噜| 亚洲黄色免费看| 成人日韩在线观看| 久久精品欧美一区| 欧美日韩一区二区三区视频播放| 欧洲av一区二区| 亚洲综合在线电影| 999国产精品永久免费视频app| 91精品婷婷色在线观看| 999国产精品视频| 亚洲福利一区| 国产精品美女| 在线免费观看亚洲| 日本精品另类| 欧美激情精品| 国产精品国产三级国产在线观看| 精品国产欧美| 日韩综合精品| 亚洲无线一线二线三线区别av| 婷婷六月综合| 亚洲精品女人| 国产精品一区二区免费福利视频| 欧美国产中文高清| 国产欧美一区二区三区精品酒店| 91精品国产调教在线观看| 中日韩男男gay无套| 一区二区高清| 免费观看亚洲天堂| 日韩欧美二区| 午夜亚洲一区| 国产欧美久久一区二区三区| 老司机精品在线| 久久国产日本精品| 免费人成在线不卡| 国产亚洲欧美日韩在线观看一区二区| 蜜桃久久久久| 亚洲一级少妇| 日韩视频不卡| 奇米狠狠一区二区三区| 电影91久久久| 亚洲激情偷拍| 欧美片第1页综合| 综合日韩av| 视频一区二区国产| 麻豆一区二区三区| 亚洲一级高清| 日本中文字幕一区二区| 国产一区二区三区久久久久久久久| 亚洲天堂久久| 91午夜精品| 色天使综合视频| 亚洲日本欧美| 国产精品nxnn| 欧美亚洲在线日韩| 日本国产一区| 久久久久99| 日韩av不卡一区二区| 中文一区一区三区高中清不卡免费| 亚洲综合不卡| 精品美女在线视频| 中文精品在线| 国产在线日韩精品| 久久国产精品久久w女人spa| 欧美精品91| 欧美中文字幕| 精品欧美日韩精品| 另类亚洲自拍| 精品视频亚洲| 蜜桃91丨九色丨蝌蚪91桃色| 精品国产亚洲日本| 亚洲专区一区| 福利在线免费视频| 日本不卡高清| 欧美一区二区三区激情视频| 国产亚洲欧美日韩精品一区二区三区| 久久婷婷激情| 国产精品任我爽爆在线播放 | 亚洲精品欧美| 日韩免费av| 久久精品超碰| 999在线观看精品免费不卡网站| 久久精品国产99国产| 蜜臀久久99精品久久久画质超高清 | 激情国产在线| 日本国产欧美| 国产视频一区三区| 成人精品动漫一区二区三区|