当面试官文,来说一下箭头函数的this,我猜很多人都会说箭头函数中的this指向于创建他的环境
当在细问时,或者在细说是就没有了
接下来我们来详细说一下关于箭头函数的this为什么指向于创建他的环境
我们来看下面这么一段代码
当我们调用函数Fn()时,会看到输出的是1,那为什么是输出1呢,因为有闭包,所以输出的是1
那么们要在箭头函数中使用this时
他就会基于闭包从外层去寻找this,由于闭包是处于词法作用域,词法作用域是在编译时态的时候确定的
由于我们js没有编译,我们js只有预编译,所以不用等到编译时态就确定了,在预编译的时候就已经确定了this,所以这就是为什么箭头函数的指向取决于创建他的环境