es6高频面试题,请查收

整理的是高频知识点,不足之处还请指出哈,后续会完善编程

 

雷神

 

新特性json

  1. let,const申明
  2. 箭头函数
  3. 模板字符串
  4. 解构赋值
  5. 拓展运算符
  6. set()、map()
  7. async、await
  8. promise
  9. import导入、export导出
  10. for of、for in

 

let、const、var三者区别数组

let声明变量,const声明常量promise

let、const都有块级做用域,而var没有异步

var存在变量提高,而let、const不会async

const与let最大不一样在于,const声明后没法再次赋值函数

 

箭头函数与普通函数区别this

  1. 箭头函数是匿名函数,不能做为构造函数,不能使用new
  2. 箭头函数不绑定this,会捕获其上下文this,做为本身的this
  3. 箭头函数没有原型属性

 

set、map的区别spa

set用于数据重组,map用于数据储存对象

set

  1. 成员不能重复
  2. 只有键值没有键名,相似数组
  3. 能够遍历,方法有add, delete、has等

map:

  1. 健值对的集合,相似集合
  2. 能够遍历,用来储存、查找

 

Class的理解

class能够看做是一个语法糖,只是让对象原型的写法更清晰,更像面向对象编程语法

class不存在变量提高,需先定义再使用

 

Promise的理解

Promise自己是同步的当即执行函数,行resolve或者reject的时候, 此时是异步操做, 会先执行then/catch等,当主栈完成后,才会执行resolve/reject中存放的方法,打印结果是一个Promise实例

 

Async/Await的理解

Async函数返回一个 Promise 对象,当函数执行的时候,一旦遇到 await 就会先返回,等到触发的异步操做完成,再执行函数体内后面的语句

Await含义为等待,也就是 async 函数须要等待await后的函数执行完成而且有了返回结果以后,才能继续执行下面的代码

 

forEach、for in、for of三者区别

forEach更多用来遍历数组

for in 经常使用来遍历对象或json,循环出的是key

for of数组对象均可以遍历,循环出的是value