每日必记五题(第四天)

1.await后面可以是一个普通的函数吗?

答:可以,但是其结果会转化为promise的resolve状态

2.es6的set、map介绍?

答:set和map都是es6新增的数据结构。其中set是一个类数组结构,值是唯一的,没有重复的值。map类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需要“键值对”的数据结构,Map 比 Object 更合适

3.数组去重除了set外,还可以怎么做?

答: filter()和indexOf()实现去重

reduce()和includes()实现去重

双重for循环 + splice() 或 双重for循环 + push() (ES5的方法)

4.es6相关的知识知道哪些?

答:有很多,如Promise async函数 箭头函数 Symbol新的基本数据类型,class类等等

5.对箭头函数的了解,箭头函数的优缺点?

答:箭头函数是匿名函数,ES5匿名函数的语法糖,并且没有自己的this,arguments,super或 new.target。 它的优点是: (1)简洁的语法、 (2)隐士返回,如 下面的代码可以去掉return,代码移到一行,减少代码量numbers.map((number)=>number*2) (3)解决了this的指向问题,原生的写法this指向的是调用者,箭头函数this绑定的是定义时的那个对象。如果有对象嵌套的情况,则this绑定到最近的一层对象上 它的缺点是: (1)做为构造函数的时候不能使用箭头函数 (2)真正需要this的时候如给元素绑定click事件的 时候,执行的回调函数不能使用箭头函数。 (3)我们需要使用arguments对象的时候不能使箭头函数。箭头函数中没有arguments对象。

经验分享 程序员 微信小程序 职场和发展