关于箭头函数里this的指向

Posted wildsky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于箭头函数里this的指向相关的知识,希望对你有一定的参考价值。

es6箭头函数里this的指向和普通的this还是有区别的,它是创建的时候就确定的,

其实我发现箭头函数的指向就是同级下的console.log(this)里的this,这样的话就能比较简单的理解多层嵌套情况下箭头函数里this的指向问题了

var f1 = 
        f2: 
            f3: 
                f6: console.log(this),//window
                f4: () => console.log(this)
            
        
    ;
    f1.f2.f3.f6;//window

相当于,在f4同级下放一个console.log(this)不就是箭头函数里this的指向

再加一个代码

var test = () => 
    console.log(this.a);

//形式上等价于
var test = function()
    console.log(this.a);

//实质上等价于
function fn()
    var that = this;
    var test = function()
        console.log(that.a);
    

这个里面test相当于箭头函数,那么它里面的this就是和它同级的this,既console.log(this)里的this了

以上是关于关于箭头函数里this的指向的主要内容,如果未能解决你的问题,请参考以下文章

怎么理解这个箭头函数里的this指向

箭头函数中的this指向

javascript基础修炼——指向FP世界的箭头函数

关于箭头函数中的this指向问题

关于this的指向

关于箭头函数的this指向问题