Geschweifte Klammern in Pfeilfunktionen: Implizite vs. explizite Rückgaben
Pfeilfunktionen können auf zwei Arten geschrieben werden: mit oder ohne geschweifte Klammern. Wenn geschweifte Klammern fehlen, wird der Funktionskörper als „prägnanter Körper“ betrachtet und der letzte darin enthaltene Ausdruck wird implizit zurückgegeben.
Implizite Rückgabe mit prägnantem Körper
In das Beispiel ohne geschweifte Klammern:
state.map(one => oneTodo(one, action))
Die Funktion gibt sofort das Ergebnis des Aufrufs von oneTodo für das eine Argument zurück.
Explizite Rückgabe mit Block
Wenn geschweifte Klammern eingeführt werden , wie im ersten Codeblock:
state.map(one => { oneTodo(one, action) })
Ein Block wird erstellt und muss explizit einen Wert zurückgeben. Die return-Anweisung in diesem Block ist notwendig, um anzugeben, welcher Wert zurückgegeben werden soll.
Wann sind geschweifte Klammern zu verwenden
Im Kontext des bereitgestellten Beispiels funktioniert der Code in beide Richtungen, da der prägnante Text implizit das Ergebnis von oneTodo zurückgibt. Allerdings schlagen die Tests fehl, wenn geschweifte Klammern ohne explizite Rückgabe verwendet werden, da kein Wert zurückzugeben ist. Aus Gründen der Klarheit und Konsistenz wird daher empfohlen, geschweifte Klammern und eine explizite Rückgabeanweisung zu verwenden, wenn der Funktionskörper mehrere Anweisungen enthält oder explizite Rückgabewerte erfordert.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3