let const与var的区别
1 : var 声明的变量有变量提升 let const 没有
2 : let const 声明的变量不能重复
3 : let 声明为变量 const 为常量
4 : let const 变量为块级作用域
5 : const 声明的常量不可改变,const 的指针不变,但声明的对象与数组内容可以被改变
6 : let const 会形成暂时性死区即typeof 不百分百准确let const 声明变量之前,变量不可以使用
详情介绍promise
1 : promise的出现是因为传统的异步是通过回调函数层层嵌套的,为了解决回调地狱导致的代码可读性差,维护成本高。
2 : promise有三种状态,即pending ( 未完成) ,resolve ( 成功) ,reject ( 已拒绝)
3 : promise中的原型方法,then和catch , catch 捕获所有的错误,then执行promise状态的改变,
then返回新的promise,then也可以继续执行promise任务,即promise支持链式调用
4 : new promise 中的函数为同步执行,但. then中的函数为异步执行
5 : promise上有四个静态方法即resolve, reject, all, race
resolve执行状态为已完成
reject执行状态为已拒绝
all处理并发任务,所有的都成功了才执行then
race多个promise中有一个成功了就执行then
promise 中那些是异步的那些是同步的
1 : new promise 中的函数 是同步的
2 : . then . catch 中的函数为异步
如何解决回调地狱代码可读性差的问题
1 : 用promise对象解决
谈谈你对 async awiat 的理解
1 : async 函数返回值为promise实例
2 : await 只能在async 中使用
3 : async await 同步写法异步的程序
4 : await 后面需要跟promise实例
- async 返回的 -- -- > await 返回值 return
- new Promise -- -- - > await 返回值 resolve实参
- then 返回的promise -- -- > await 返回值 then中函数的 return
说一下class 的作用
是 es6中新增的class 类型
1 :可以实例化对象
2 : extends 继承
3 :constructor 构造器,当class 类执行时候;触发constructor 构造器
4 :super 触发父类中的构造器
5 :static 关键字可以定义,类的静态属性和静态方法
class 中super 你是怎么应用的
1 :触发父类的构造器
2 :在子类中调用父类的静态方法
es6 对象扩展有那些内容
1 :解构赋值
2 :对象属性简写
3 :扩展运算符
异步编程语言进化的过程是什么?
1 : 回调函数-- - > promise -- - > generator -- -- > async await
请说出箭头函数有什么特点
1 : 匿名函数改为箭头函数
2 :没有this 使用上一层中的this
3 : 没有arguemets 用 rest 参数代替