Pfeilfunktionen: Den fehlenden Rückgabewert verstehen
Im Bereich JavaScript haben sich Pfeilfunktionen zu einer beliebten Wahl für Prägnanz und Ausdruckskraft entwickelt Code. Bei der Verwendung der Funktionskörperversion (mit geschweiften Klammern) kann jedoch eine häufige Gefahr auftreten.
Das Problem: Fehlender Rückgabewert
Betrachten Sie die folgende Pfeilfunktion:
const f = arg => { arg.toUpperCase(); };
Beim Aufruf gibt diese Funktion undefiniert anstelle des erwarteten Werts zurück. Warum ist das so?
Enthüllung der impliziten Rückgabe
In Pfeilfunktionen wird die Rückgabeanweisung implizit angewendet, wenn der prägnante Körper (ohne geschweifte Klammern) verwendet wird. Dies bedeutet, dass das Ergebnis des Ausdrucks in den Klammern zum zurückgegebenen Wert wird.
Beispiel für einen prägnanten Textkörper:
const f = arg => arg.toUpperCase();
Der Aufruf dieser Funktion gibt nun die gewünschte Zeichenfolge zurück:
console.log(f("testing")); // "TESTING"
Explizite Rückgabe für Funktion Körper
Bei der Verwendung von geschweiften Klammern ist jedoch eine explizite Return-Anweisung erforderlich, um anzugeben, was zurückgegeben werden soll. Andernfalls gibt die Funktion undefiniert zurück.
Explizites Rückgabebeispiel:
const f = arg => { return arg.toUpperCase(); };
Der Aufruf dieser geänderten Funktion führt zum gleichen Ergebnis:
console.log(f("testing")); // "TESTING"
Denken Sie daran: Implizite Rückgabe gibt es im prägnanten Körper von Pfeilfunktionen, während bei Verwendung von Curly eine explizite Rückgabe erforderlich ist Klammern für den Funktionskörper. Das Verständnis dieser Unterscheidung ist entscheidend, um unerwartete undefinierte Werte in Ihrem Code zu vermeiden.
Das obige ist der detaillierte Inhalt vonWarum geben Pfeilfunktionen mit geschweiften Klammern „undefiniert' zurück, es sei denn, sie werden explizit zurückgegeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!