Heim > Web-Frontend > js-Tutorial > Hauptteil

Haben Pfeilfunktionen in ES6 Zugriff auf Argumentobjekte?

DDD
Freigeben: 2024-10-18 15:55:03
Original
658 Leute haben es durchsucht

Do Arrow Functions in ES6 Have Access to Arguments Objects?

Offizielle Dokumentation zu Argumenten in ES6-Pfeilfunktionen

Im Bereich von ES6 haben Pfeilfunktionen eine Debatte über ihre Behandlung der Argumente entfacht Stichwort. Im Gegensatz zu frühen TC39-Empfehlungen scheinen Browser-Engines wie Chrome, Firefox und Node.js Pfeilfunktionen den Zugriff auf das Argumentobjekt zu ermöglichen.

Babel, ein beliebter JavaScript-Transpiler, folgt jedoch der ursprünglichen TC39-Haltung und verbietet dieses Verhalten. Aufgrund dieser Inkonsistenz suchen Entwickler nach offizieller Dokumentation, um die Unklarheit zu beseitigen.

Gemäß der [ECMAScript 2015 Language Specification](https://www.ecma-international.org/ecma-262/6.0/#sec- Pfeilfunktionsdefinitionen), Pfeilfunktionen haben keine eigene Argumentbindung. Beim Aufruf einer Pfeilfunktion wird kein Argumentobjekt erstellt.

Konkret heißt es in der Spezifikation:

  • „Pfeilfunktionen haben keine eigene Argumentbindung in ihrem Gültigkeitsbereich; kein Argumentobjekt.“ wird beim Aufruf erstellt.“ (14.8.1)
  • "Pfeilfunktionsausdrücke werden zu Funktionen ausgewertet, deren [[ThisMode]] auf lexikalisch gesetzt ist." (14.2.16.1)
  • „Wenn eine solche Funktion aufgerufen wird, erstellt die Deklarationsinstanziierung kein Argumentobjekt.“ (14.2.16.1)
  • „Es gibt sogar einen speziellen Hinweis (18 a), der besagt, dass ‚Pfeilfunktionen niemals ein Argumentobjekt haben‘.“ (14.2.16.1)

Basierend Aus diesen offiziellen Dokumenten geht hervor, dass Babels Verhalten korrekt ist und Pfeilfunktionen keinen Zugriff auf das Argumentobjekt innerhalb ihres Gültigkeitsbereichs haben sollten.

Das obige ist der detaillierte Inhalt vonHaben Pfeilfunktionen in ES6 Zugriff auf Argumentobjekte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage