Heim > Web-Frontend > js-Tutorial > Warum geben einige Pfeilfunktionen „undefiniert' zurück, während andere dies nicht tun?

Warum geben einige Pfeilfunktionen „undefiniert' zurück, während andere dies nicht tun?

Patricia Arquette
Freigeben: 2024-12-16 16:39:14
Original
246 Leute haben es durchsucht

Why Do Some Arrow Functions Return `undefined` While Others Don't?

Rückgabewerte in Pfeilfunktionen verstehen: Ein Dilemma von explizit vs. implizit

Pfeilfunktionen, die in ES6 eingeführt wurden, erfreuen sich zunehmender Beliebtheit prägnante Syntax und Flexibilität. Eine häufige Falle, die unerfahrene Programmierer plagt, entsteht jedoch beim Umgang mit ihren Rückgabewerten.

Betrachten Sie die folgende Pfeilfunktion:

const f = arg => { arg.toUpperCase(); };
Nach dem Login kopieren

Beim Aufruf gibt diese Funktion unerwartet undefiniert zurück. Warum passiert das?

Die implizite Rückgabe in prägnanten Pfeilfunktionen

Pfeilfunktionen bieten zwei unterschiedliche Syntaxvarianten: eine prägnante Form ohne geschweifte Klammern und eine ausführlichere Form mit geschweifte Klammern. Die prägnante Form gibt implizit das Ergebnis des Hauptausdrucks zurück, sodass keine explizite Return-Anweisung erforderlich ist. Somit kann eine Pfeilfunktion wie arg => arg.toUpperCase(); gibt automatisch das großgeschriebene Argument zurück.

Explizite Rückgaben in Pfeilfunktionen mit geschweiften Klammern

Andererseits verwenden Pfeilfunktionen mit geschweiften Klammern einen traditionellen Funktionskörper. In diesem Szenario gibt es keine implizite Rückgabe. Um einen Wert aus einer solchen Pfeilfunktion zu erhalten, muss eine explizite Return-Anweisung verwendet werden. Änderung unseres vorherigen Beispiels:

const f = arg => { return arg.toUpperCase(); };
Nach dem Login kopieren

Jetzt gibt die Funktion das großgeschriebene Argument korrekt zurück. Alternativ könnten wir die prägnantere Form verwenden, indem wir die geschweiften Klammern weglassen:

const f = arg => arg.toUpperCase();
Nach dem Login kopieren

In diesem Fall gibt die Pfeilfunktion implizit das Ergebnis des Ausdrucks zurück, also das großgeschriebene Argument.

Wenn Sie den Unterschied zwischen impliziten und expliziten Rückgaben in Pfeilfunktionen verstehen, können Sie die Fallstricke vermeiden, die beim Umgang mit ihren Rückgabewerten auftreten.

Das obige ist der detaillierte Inhalt vonWarum geben einige Pfeilfunktionen „undefiniert' zurück, während andere dies nicht tun?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage