一天一篇 防止呆滞(箭头函数this指向个人见解)

243 阅读1分钟

箭头函数与普通函数的this指向我感觉网上的教程都好像说的很迷的样子。

个人理解如下:箭头函数没有this,它会类似变量作用域一样层层往上去查询this。

这就意味着如果箭头函数的外部是一个object,虽然object拥有this,但是无法赋予箭头函数。 这就需要我们原来的普通函数,它会默认的将this绑定入内,也可以传递给内部的箭头函数。

const obj = {
    foo: () => {
        console.log(this)//那是必须的window。别指望obj的this给的到你!
    }
}

const obj = {
    foo() {
        console.log(this) // 普通函数,this指向obj。这个函数内this有明确的指向!
    }
}

const obj = {
    foo() {
        const bar = () => {
            console.log(this) // 这个箭头函数存在于一个拥有this可以传递的上下文环境当中,它可以拿到foo 的this
        }
        
    }
}

我的理解就是如此的简单,我也是翻阅了许多资料自己总结的,感觉大家说的都很隐晦的样子。

希望能有大手帮我看看我的理解正确与否(这个理解在基本使用都没什么问题了)