Argumente in ES6-Pfeilfunktionen: Offizielle Klarstellung
In ES6-Pfeilfunktionen war das Verhalten des Schlüsselworts arguments ein Diskussionsthema. Einige Browser und Plattformen (wie Chrome, Firefox und Node) weichen von den ursprünglichen TC39-Empfehlungen ab, was Fragen zur korrekten Interpretation der Spezifikation aufwirft.
Gemäß der offiziellen ES6-Spezifikation verfügen Pfeilfunktionen nicht über ihre eigene Argumente innerhalb ihres Geltungsbereichs verbindlich. Beim Aufruf erstellen Pfeilfunktionen im Rahmen des Deklarationsinstanziierungsprozesses kein Argumentobjekt.
Dies widerspricht dem Verhalten, das in Browsern wie Chrome, Firefox und Node beobachtet wird, die in Pfeilfunktionen ein Argumentobjekt erstellen. Infolgedessen gewähren diese Browser fälschlicherweise Zugriff auf die Argumente, die an die einschließende Funktion übergeben werden.
Babel hingegen folgt der offiziellen Spezifikation, indem es einen „ReferenceError“ auslöst, wenn innerhalb einer Pfeilfunktion auf Argumente zugegriffen wird. Dies steht im Einklang mit dem beabsichtigten Verhalten von Pfeilfunktionen als Funktionen, die ihren übergeordneten Bereich für den Zugriff auf Argumente übernehmen.
Daher ist das richtige Verständnis, dass Pfeilfunktionen keine dedizierte Argumentbindung haben. Entwickler sollten das von der einschließenden Funktion bereitgestellte Argumentobjekt verwenden, um auf übergebene Argumente zuzugreifen, wenn sie mit Pfeilfunktionen arbeiten.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3