class中constructor中的this问题
来源:8-19 手写 Promise-构造函数

慕仰5120631
2022-08-28
class MyPromise{
PromiseState = 'pending'
PromiseResult = undefined
resolvedCallBacks = []
rejectedCallBacks = []
constructor(fn){
const resolve = (value)=>{
console.log(this,'箭头函数')
}
function reject(err){
console.log(this,'普通函数')
}
fn(resolve,reject)
}
}
const p1 = new MyPromise((resolve,reject)=>{
resolve()
reject()
})
//打印结果
MyPromise {
PromiseState: 'pending',
PromiseResult: undefined,
resolvedCallBacks: [],
rejectedCallBacks: []
} 箭头函数
undefined 普通函数
发现constructor函数里resolve箭头函数中的this指向promise实例,但是声明式定义的reject函数中的this却是undefind?
写回答
1回答
-
双越
2022-08-28
一个是箭头函数,一个是普通函数,所以 this 不一样
00
相似问题