平时 js 写的不多,以下代码有个地方不太明白。
let func = () => ({
a: 1,
b: () => {
return this.a;
}
});
let instance = func();
console.log(instance.b()); // undefined
我记得如果this在一个函数里面的话,this会被设定为这个函数的调用者。在上面这段代码里调用b的是instance,所以this应该就是instance。显然instance.a === 1是成立的,那为什么this.a会返回undefined?