Heim >Web-Frontend >js-Tutorial >Warum benötigen Pfeilfunktionen bei Verwendung von Blockdeklarationen explizite Rückgaben?
Warum Pfeilfunktionen ohne Blockdeklarationen Werte explizit zurückgeben müssen
Die in ES6 eingeführten Pfeilfunktionen vereinfachen die Syntax von JavaScript-Funktionen. Allerdings können sie sich bei der Rückgabe von Werten anders verhalten als normale Funktionen.
Betrachten Sie die folgende Pfeilfunktion mit einer Blockdeklaration (in geschweiften Klammern eingeschlossen):
const f = arg => { arg.toUpperCase(); };
Aufrufen dieser Funktion gibt keinen Wert zurück, was dazu führt, dass undefiniert auf der Konsole ausgegeben wird:
console.log(f("testing")); // undefined
Im Gegensatz zu regulären Funktionen geben Pfeilfunktionen mit Blockdeklarationen keinen Wert zurück Ergebnis des Blockausdrucks implizit. Stattdessen ist eine explizite Return-Anweisung erforderlich, um den Rückgabewert anzugeben. Daher sollte die Pfeilfunktion wie folgt geschrieben werden:
const f = arg => { return arg.toUpperCase(); }; // Explicit 'return' statement
Alternativ kann die Pfeilfunktion prägnant (ohne Blockklammern) deklariert werden. In diesem Fall wird implizit das Ergebnis des Ausdrucks zurückgegeben, der dem Pfeil folgt:
const f = arg => arg.toUpperCase();
Beispiele:
const f1 = arg => { return arg.toUpperCase(); }; // With explicit 'return' console.log(f1("testing")); const f2 = arg => arg.toUpperCase(); // Concise arrow function console.log(f2("testing"));
Sowohl f1 als auch f2 geben die Großbuchstabenzeichenfolge „TESTING“ zurück. Wenn Sie den Unterschied zwischen Pfeilfunktionen mit und ohne Blockdeklarationen verstehen, können Sie sicherstellen, dass Ihre Pfeilfunktionen die erwarteten Werte zurückgeben.
Das obige ist der detaillierte Inhalt vonWarum benötigen Pfeilfunktionen bei Verwendung von Blockdeklarationen explizite Rückgaben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!