Heim >Web-Frontend >js-Tutorial >Pfeilfunktionen und geschweifte Klammern: Implizite vs. explizite Rückgabe?

Pfeilfunktionen und geschweifte Klammern: Implizite vs. explizite Rückgabe?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-03 12:14:12394Durchsuche

Arrow Functions and Curly Brackets: Implicit vs. Explicit Return?

Pfeilfunktionen: Das Dilemma der geschweiften Klammern

Dan Abramovs Vorlesungen und Übungen bieten eine großartige Lernerfahrung. Bei der Verwendung von geschweiften Klammern in Pfeilfunktionen kann es jedoch zu einem besonderen Problem kommen. Während der Code ohne diese Klammern funktioniert, schlägt er fehl, wenn sie vorhanden sind.

Der Grund:

Die geschweiften Klammern erzeugen eine Blockanweisung innerhalb der Pfeilfunktion. Dadurch ändert sich das Verhalten der Funktion, sodass es erforderlich ist, einen Wert mithilfe einer Return-Anweisung explizit zurückzugeben.

Mit geschweiften Klammern:

case 'toggleTodo' :
        return (
            state.map( (one) => {
                oneTodo( one, action )
            })
        );

In diesem Beispiel Die Blockanweisung erfordert eine Return-Anweisung, damit die Funktion das oneTodo-Ergebnis zurückgibt.

Ohne Curly Klammern:

case 'toggleTodo' :
        return (
            state.map( (one) =>
                oneTodo( one, action )
            )
        );

Wenn die geschweiften Klammern weggelassen werden, wird davon ausgegangen, dass die Pfeilfunktion einen prägnanten Körper hat. Dies bedeutet, dass das Ergebnis des oneTodo-Ausdrucks zum impliziten Rückgabewert wird.

Zu lösen:

Stellen Sie sicher, dass Sie bei der Verwendung von geschweiften Klammern in Pfeilfunktionen explizit eine Return-Anweisung einschließen Geben Sie den gewünschten Wert zurück.

Das obige ist der detaillierte Inhalt vonPfeilfunktionen und geschweifte Klammern: Implizite vs. explizite Rückgabe?. 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