Set對象? ??????????new Set([iterable])
????????Set對象允許你存儲(chǔ)任何類型的唯一值灌闺,無論是原始值或者是對象引用拄氯。Set中的元素只會(huì)出現(xiàn)一次,即 Set 中的元素是唯一的。
Set實(shí)例
????????所有Set實(shí)例繼承自?Set.prototype疟呐。
屬性
????????Set.prototype.constructor
????????返回實(shí)例的構(gòu)造函數(shù)。默認(rèn)情況下是Set东且。
Set?相關(guān)屬性與方法
????????-?size?屬性Set.prototype.size启具,返回Set對象的值的個(gè)數(shù)。
????????-?clear()珊泳、delete()鲁冯、has()、add()?
手冊地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Set
size?屬性
????????Set.add()?添加子項(xiàng)??返回?set?數(shù)據(jù)本身
????????Set.delete()?刪除子項(xiàng)?返回?true?|?false?
????????Set.has()?是否包含子項(xiàng)
????????Set.prototype.forEach(callbackFn[, thisArg])
????????????????按照插入順序色查,為Set對象中的每一個(gè)值調(diào)用一次callBackFn薯演。如果提供了thisArg參數(shù),回調(diào)中的this會(huì)是這個(gè)參數(shù)秧了。
? ? ? ? Set.prototype.values()
????????????????返回一個(gè)新的迭代器對象跨扮,該對象包含Set對象中的按插入順序排列的所有元素的值。
????????????????與values()方法相同,返回一個(gè)新的迭代器對象衡创,該對象包含Set對象中的按插入順序排列的所有元素的值帝嗡。
Map對象? ??????????new Map([iterable])
????????一個(gè)Map對象在迭代時(shí)會(huì)根據(jù)對象中元素的插入順序來進(jìn)行璃氢, 一個(gè) ?for...of?循環(huán)在每次迭代后會(huì)返回一個(gè)形式為[key哟玷,value]的數(shù)組
Objects 和 maps 的比較
????????一個(gè)Object的鍵只能是字符串或者Symbols,但一個(gè)Map的鍵可以是任意值拔莱,包括函數(shù)碗降、對象、基本類型塘秦。
????????Map 中的鍵值是有序的讼渊,而添加到對象中的鍵則不是。因此尊剔,當(dāng)對它進(jìn)行遍歷時(shí)爪幻,Map 對象是按插入的順序返回鍵值。
Map?相關(guān)屬性與方法
????????-?size?屬性
????????-?clear()须误、delete()挨稿、get()、has()京痢、set()
手冊地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Map
箭頭函數(shù)=>
????????箭頭函數(shù)表達(dá)式的語法比函數(shù)表達(dá)式更簡潔奶甘,并且沒有自己的this,arguments祭椰,super或 new.target臭家。這些函數(shù)表達(dá)式更適用于
????????那些本來需要匿名函數(shù)的地方,并且它們不能用作構(gòu)造函數(shù)方淤。
????????手冊地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions
1.箭頭函數(shù)的各種寫法
箭頭函數(shù)的?this?問題
箭頭函數(shù)的不定參問題钉赁,rest參數(shù)設(shè)置
參數(shù)默認(rèn)值設(shè)置