迭代类型
var p=new Promise((resolve,reject)=>{
//异步操作
resolve(data)
reject(err)
})
迭代对象
可以用for of遍历的对象都是可迭代对象
string字符串、array数组 、Set集合、 Map图
promise
promise 有三个状态 状态变化不可逆 为pendding resolved rejected
实例p.then(res=>{}) 回调函数获取resolved 返回的结果 返回一个新的promise实例
.catch(err=>{}) 获取rejected的原因
promise.all 参数中所有的promise 成功接收,resolve才会resolve
promise.race 在promise参数列表中的只要reslove
解决
- 异步操作
- 回调地狱(层级过深)
- all全部
- race赛跑 返回最先resolve结果
async
async修饰的函数,函数执行返回的是一个promise对象 通常配合await等待关键字 await 会等待promise 的resolve结果
迭代器
新增数据类型
add添加
delete 删除
clear清空
size大小
has检测
map 任意键的对象
[…new Set(arr)]
set(key,value)设置
get(key)获取
delete 删除
clear清空
size大小
clear清空
weakSet 值都是引用类型的set
weakMap
键都是引用类型
symbol 唯一符合
对象的键
类
typeof class 结果是function 类的本质是函数
class Block{
}
构造函数
constrcuctor(){ }
实例化的时候 new 关键字调用的就是构造函数
super()
调用父类的构造函数
extends继承父类的方法
static类的静态属性和方法
类的this指向的的是他的实例(也就是new出来的对象)