In JavaScript, warum wird der Wert von "diesem" Schlüsselwort innerhalb einer Pfeilfunktion durch den Kontext bestimmt, in dem es erstellt wurde, anstatt durch, wie es genannt wird?
In JavaScript ist der Wert dieses Schlüsselwortes innerhalb einer Pfeilfunktion durch den Kontext bestimmt, in dem es erstellt wurde, weil Pfeilfunktionen eine lexikalische Bindung haben. Im Gegensatz zu normalen Funktionen haben Pfeilfunktionen nicht ihr eigenes Schlüsselwort und erben stattdessen diesen Wert aus ihrem umgebenden Kontext. Dies bedeutet, dass der Wert dieser innerhalb einer Pfeilfunktion zum Zeitpunkt der Definition der Pfeilfunktion bestimmt wird, nicht zum Zeitpunkt, an dem sie aufgerufen wird. Dies hat eine Reihe von Implikationen dafür, wie Pfeilfunktionen in JavaScript verwendet werden, insbesondere in Situationen, in denen sich der Wert dieser Funktion anders ändern würde, je nachdem, wie eine Funktion aufgerufen wird. Durch die Verwendung einer Pfeilfunktion können Sie sicherstellen, dass dieser Wert immer gleich bleibt, unabhängig davon, wie die Funktion aufgerufen wird. Zum Beispiel den folgenden Code: const obj = { Name: 'John', grüßen: Funktion() { setTimeout(function() { console.log(`Hello, mein Name ist ${this.name}); } } den folgenden Code betrachten: const obj = {Name: 'John', grüßen: Funktion {setTimeout(Funktion nicht definiert ist, die Funktion ist