Heim >Web-Frontend >js-Tutorial >Warum benötigen Pfeilfunktionen bei Verwendung von Blockdeklarationen explizite Rückgaben?

Warum benötigen Pfeilfunktionen bei Verwendung von Blockdeklarationen explizite Rückgaben?

Linda Hamilton
Linda HamiltonOriginal
2024-12-18 09:54:18314Durchsuche

Why Do Arrow Functions Need Explicit Returns When Using Block Declarations?

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!

Stellungnahme:
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