将此文件从.call()传递给箭头功能

The*_*ter 3 javascript ecmascript-6 arrow-functions

我有一个箭头功能,我试图执行call().为简化起见,如下:

按预期运作

const func = (e) => {
    console.log(e)
}

func.call(null, e)
Run Code Online (Sandbox Code Playgroud)

嗯......这里发生了什么?

我希望下面的代码传递elementfunc作为this.

const func = (e) => {
    console.log(this)
    console.log(e)
}

func.call(element, e)
Run Code Online (Sandbox Code Playgroud)

但是,相反this仍然存在undefined.

如果我将它切换到常规函数定义,则所有都按预期工作.

const func = function (e) {
    console.log(this)
    console.log(e)
}

func.call(element, e)
Run Code Online (Sandbox Code Playgroud)

为什么我无法将上下文传递给this箭头函数call()

AJ *_*unk 11

this在箭头功能不结合,因此call()apply()只能传递参数.this被忽略了

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions#Invoked_through_call_or_apply