对于箭头函数中的this,我最开始简单的理解为:箭头函数没有this,this指向上一层作用域,
可是后来我发现箭头函数的中的this知识点远远不仅如此,比如我们需要考虑当我们频繁修改this的指向时,箭头函数中的this是否会发生改变呢
那我们举个简单的例子来看一下
function foo() {
return a=> {
console.log(this.a)
}
}
const obj1 = {
a:2
}
const obj2 = {
a:3
}
const bar = foo.call(obj1);
console.log(bar.call(obj2)) // 2 undefined
这道题我头开始以为随着call的显示绑定会修改原来箭头函数的this绑定,可是却没有,
第12行代码执行的时候,foo函数中的this被显示绑定了obj1,此时则箭头函数中的this指向也为obj1
然后执行第13行代码,此时call就无法修改箭头函数中的this了