Ich versuche Pfeil Funktionen in ECMAScript 6.Diese Werte für Pfeil Funktionen
Dies ist die Definition, die ich über kam zu verstehen beim Lesen: haben
Pfeil Funktionen implizite
this
Bindung, was bedeutet, dass die Wert desthis
Wertes innerhalb einer Pfeilfunktion ist immer der gleiche wie der Wertthis
in dem Bereich, in dem die Pfeilfunktion definiert ist!
Nach der Definition, wie ich glaube this
für ein arrow function
die gleichen Block-Level-Werte enthalten soll, die der Pfeil Funktion in definiert wurde
Code:.
var test = {
id: "123123",
k: {
laptop: "ramen",
testfunc:() => console.log(this)
}
}
console.log(test.k.testfunc);
Aber ich bin immer Dieses Ergebnis aus dem Code
function testfunc() {
return console.log(undefined);
}
Was ich dachte, ich würde g et würde eine Leistung von sein:
{"laptop": "ramen"}
, wenn ich dies laufe
console.log(test.k.testfunc());
Bei Verwendung von 'console.log (test.k.testfunc());' in FF (beachten Sie die Klammern am Ende), bekomme ich einen Verweis auf Fenster. Das ist richtig, da bei der Definition der Funktion der aktuelle Bereich in meinem Fall "Fenster" war. – Sirko
Dies sollte helfen zu erklären: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions "this". Siehst du was ich dort gemacht habe? – LDJ