编程语言
首页 > 编程语言> > javascript-将其从.call()传递给箭头函数

javascript-将其从.call()传递给箭头函数

作者:互联网

这个问题已经在这里有了答案:            >            Are ‘Arrow Functions’ and ‘Functions’ equivalent / exchangeable?                                    1个
我有一个箭头函数,试图通过call()执行.为简化起见,如下所示:

预期运营

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

func.call(null, e)

嗯…这是怎么回事?

我希望下面的代码以此将元素传递到func中.

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

func.call(element, e)

但是,这仍然是未定义的.

如果我将其切换为常规函数定义,则所有操作均会按预期进行.

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

func.call(element, e)

为什么我不能将此上下文传递给call()的箭头函数?

解决方法:

这不受箭头函数的限制,因此call()和apply()只能传递参数.这被忽略

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

标签:arrow-functions,javascript,ecmascript-6
来源: https://codeday.me/bug/20191011/1889856.html