1、symbol知识点:
es6中新增的一种基本数据类型;主要特点唯一性(为对象添加属性时,避免属性名冲突);不能和其它数据类型进行运算,不能隐式转换;只能显式转换为字符串和布尔类型。
var a = symbol();
对象object,在添加symbol类型属性时,必须用[]外扩symbol,不能用点式法对其进行操作;
Symbol.for() , Symbol.keyFor()可以创建相同的symbol,因为它是在全局对象中先搜索key值,找到就返回该symbol。
2、Set Map知识点
Set和Map是es6中新增的两种数据结构。
(1)Set:类数组,成员是唯一的,不重复
操作数据的方法:
add()、has()、delete()、clear()
遍历的方法:keys():返回键名的遍历器
values():返回键值的遍历器
entries():返回键值对的遍历器
forEach():使用回调函数遍历每个成员
应用:(a)数组去重
(b)实现并集、交集、差集
(2)Map:类似于对象,存放键值对,不限制数据类型
有点像二维数组,new Map([[],[]]);对象里是大数组,数组中放着的是长度为2的小数组,里面存放的是键值对。
set(key , value) , get(Key), delete(key) , has(key) ,clear()
keys():返回键名的遍历器。
values():返回键值的遍历器。
entries():返回所有成员的遍历器。
forEach():遍历 Map 的所有成员。
Map与JSON的相互转换
题外话:for in遍历获取的是对象的键、或者数组的下标;for of遍历得到的是值(不能用它去遍历得到对象的值)。
https://blog.csdn.net/chauncywu/article/details/73302353
3、Array.from()知识点
es6对数组新增了from()方法,可以将类数组对象转化为数组,所谓的类数组对象,可以理解为具有length属性的值;比如,可以将Map结构,Set结构,string等转化为数组。
4、promise知识点
优化多层回调。
5、async和await
异步编程终极解决方案,优化promise的处理then链
async:代表函数里有异步操作,函数的返回值是promise对象;不会造成阻塞(无需等待)。
await:等待一个异步方法的执行结果;必须用在async函数内部;会造成阻塞。
6、箭头函数知识点
7、let与const知识点
8、Generator函数
Generator函数相当于一个状态机,内部用yeild封装着很多状态;调用Generator函数,返回一个遍历器对象,代表Generator函数的内部指针。以后,每次调用遍历器对象的next方法,就会返回一个有着value和done两个属性的对象。value属性表示当前的内部状态的值,是yield语句后面那个表达式的值;done属性是一个布尔值,表示是否遍历结束。