Ich habe eine Pfeilfunktion, die ich mit call()
ausführen möchte. Aus Gründen der Vereinfachung wie folgt:Übergabe von .call() zu Pfeilfunktion
Operational als erwartet
const func = (e) => {
console.log(e)
}
func.call(null, e)
Hmm ... was ist denn hier los?
Ich würde erwarten, dass der folgende Code element
in func
als this
übergibt.
const func = (e) => {
console.log(this)
console.log(e)
}
func.call(element, e)
Aber statt this
bleibt undefined
.
Wenn ich es zu einer regulären Funktionsdefinition wechseln, funktioniert alles wie erwartet.
const func = function (e) {
console.log(this)
console.log(e)
}
func.call(element, e)
Frage
Warum bin ich für this
in einen Pfeil Funktion von call()
einen Kontext passieren nicht in der Lage?
Aus Interesse, warum haben Sie sich entschieden, eine Pfeilfunktion anstelle einer regulären Funktion zu verwenden? – CodingIntrigue
@CodingIntrigue Kein Grund, rein experimentell, wo ich dieses Verhalten bemerkt habe. –