Argumente-Objekt in ES6-Pfeilfunktionen: Offizielle Dokumentation
Pfeilfunktionen haben mit ihrer prägnanten Syntax schnell die Aufmerksamkeit der Entwickler auf sich gezogen. Ein Aspekt, der jedoch Fragen aufgeworfen hat, ist die Verfügbarkeit des darin enthaltenen Argumentobjekts.
Laut der offiziellen Dokumentation von TC39, dem Dachverband für JavaScript-Standardisierung, Pfeilfunktionen erstellen keine eigenen Argumente Objekt. Im Gegensatz zu regulären Funktionen erben Pfeilfunktionen das Argumentobjekt von ihrem übergeordneten Bereich.
Dieses Verhalten wird im folgenden Beispiel deutlich, in dem eine Pfeilfunktion mit drei Argumenten aufgerufen wird:
<code class="js">(() => console.log(arguments))(1, 2, 3);</code>
In Umgebungen Wie bei Chrome, Firefox und Node.js protokolliert dieser Code „1,2,3“. Babel und andere Bundler geben jedoch einen Fehler aus, der darauf hinweist, dass Argumente nicht definiert sind.
Diese Diskrepanz entsteht, weil einige Umgebungen Pfeilfunktionen den Zugriff auf das Argumentobjekt ihres übergeordneten Bereichs ermöglichen, während andere die strenge Interpretation von ES6 implementieren Spezifikation, die verbietet, dass Pfeilfunktionen über ein eigenes Argumentobjekt verfügen.
Zusammenfassend heißt es in der offiziellen Dokumentation von TC39 (ES6-Spezifikation) eindeutig, dass Pfeilfunktionen kein eigenes Argumentobjekt besitzen. Das beobachtete Verhalten in bestimmten Umgebungen, in denen Pfeilfunktionen auf die Argumente des übergeordneten Bereichs zugreifen können, ist nicht standardmäßig und kann zu unerwarteten Ergebnissen führen.
Das obige ist der detaillierte Inhalt vonWann ist das Argumentobjekt in ES6-Pfeilfunktionen verfügbar?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!