一、ES6的新特性
箭头函数,扩展运算符,set,map,promise,迭代器,生成器,模块化
二、ES6里let和const声明变量方式的区别及const的特性
let声明的是变量,可以更改;const声明的是常量,不可更改;对于数组/对象的元素修改,不算是对变量的修改
三、箭头函数和普通函数的区别
箭头函数没有外层函数,直接使用arguments会报错;
箭头函数不能实例化;(不能使用new关键字调用)
箭头函数的this指向父级(外层第一个函数)的this,无父级则指向windows;
箭头函数没有原型,所以本身无this;
箭头函数不支持new、target;
四、检测数据类型的几种方法
typeof(检测基本数据类型)
instanceof(检测对象类型)
使用Object的toString方法判断
通过constructor判断
五、数组去重
1.利用set的唯一性去重;
2.原生JS去重;
3.利用filter去重;
4.利用reduce去重;
5.借助indexOf()判断下标去重;
六、数组扁平化
1.循环遍历递归
2.flat函数(层数未知,用Infinity)
七、Promise有几种状态
三种:pending(待处理),fulfilled/resolved(成功),rejected(失败)
八、还是上一题,后面接什么方法
then(返回一个promise对象),catch(失败处理),finally,all,race