Set对象 new Set([iterable])
Set对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。Set中的元素只会出现一次,即 Set 中的元素是唯一的。
Set实例
所有Set实例继承自 Set.prototype。
属性
Set.prototype.constructor
返回实例的构造函数。默认情况下是Set。
Set 相关属性与方法
- size 属性Set.prototype.size,返回Set对象的值的个数。
- clear()、delete()、has()、add()
手册地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Set
size 属性
Set.add() 添加子项 返回 set 数据本身
Set.delete() 删除子项 返回 true | false
Set.has() 是否包含子项
Set.prototype.forEach(callbackFn[, thisArg])
按照插入顺序,为Set对象中的每一个值调用一次callBackFn。如果提供了thisArg参数,回调中的this会是这个参数。
返回一个新的迭代器对象,该对象包含Set对象中的按插入顺序排列的所有元素的值。
与values()方法相同,返回一个新的迭代器对象,该对象包含Set对象中的按插入顺序排列的所有元素的值。
entries() 方法返回一个数组的迭代对象,该对象包含数组的键值对 (key/value)
Map对象 new Map([iterable])
一个Map对象在迭代时会根据对象中元素的插入顺序来进行, 一个 for...of 循环在每次迭代后会返回一个形式为[key,value]的数组
Objects 和 maps 的比较
一个Object的键只能是字符串或者Symbols,但一个Map的键可以是任意值,包括函数、对象、基本类型。
Map 中的键值是有序的,而添加到对象中的键则不是。因此,当对它进行遍历时,Map 对象是按插入的顺序返回键值。
Map 相关属性与方法
- size 属性
- clear()、delete()、get()、has()、set()
手册地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Map
箭头函数=>
箭头函数表达式的语法比函数表达式更简洁,并且没有自己的this,arguments,super或 new.target。这些函数表达式更适用于
那些本来需要匿名函数的地方,并且它们不能用作构造函数。
手册地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions
1.箭头函数的各种写法
箭头函数的 this 问题
箭头函数的不定参问题,rest参数设置
参数默认值设置