Geschweifte Klammern in Pfeilfunktionen

Lesezeit: 1 Minute

Geschweifte Klammern in Pfeilfunktionen
Kajak

kann mir bitte jemand folgendes erklären:

Ich folge den Vorlesungen von Dan Abramov und mache die Übungen.

Der Code funktioniert einwandfrei, die Tests schlagen jedoch fehl, wenn die folgende bestimmte Funktion geschrieben wird mit geschweifte Klammern **{ }**.

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

Der gleiche Code funktioniert gut ohne geschweifte Klammern.

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

Hier ist die JsBin. Siehe ab Zeile 31.

  • Mit Blick auf die MDN-Dokumentation sollte deine Frage beantworten.

    – Felix Klinge

    16. Februar 2016 um 18:37 Uhr


1646357105 679 Geschweifte Klammern in Pfeilfunktionen
Bergi

Das Klammerpaar bildet a Block, die eine Liste von Anweisungen enthält. Sie müssen eine verwenden return Anweisung explizit, damit die Funktion etwas zurückgibt.

Wenn Sie die geschweiften Klammern weglassen, hat die Pfeilfunktion ein prägnanter Körperder lediglich aus einem einzigen Ausdruck besteht, dessen Ergebnis implizit zum Rückgabewert der Funktion wird.

  • Können Sie auch den Code einfügen, um eine autarke Antwort zu erhalten.

    – Suraj Jain

    29. Januar 2019 um 5:48 Uhr

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

ist gleich:

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

siehe Rückgabeerklärung

929490cookie-checkGeschweifte Klammern in Pfeilfunktionen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy