每日必记五题(第四天)
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对象。