前端面试小结

2018-04-02 常考es6知识点小结

2018-04-02  本文已影响0人  猫熊猫熊

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属性是一个布尔值,表示是否遍历结束。

上一篇 下一篇

猜你喜欢

热点阅读