Geschweifte Klammern in Pfeilfunktionen
In einer aktuellen Vorlesung sind Sie bei der Arbeit mit Pfeilfunktionen auf ein interessantes Dilemma gestoßen. Insbesondere haben Sie festgestellt, dass Tests fehlschlugen, wenn eine bestimmte Funktion mit geschweiften Klammern { } geschrieben wurde, während sie ohne diese korrekt funktionierte.
Verstehen des Problems
Pfeilfunktionen können entweder einen prägnanten Körper oder einen Blockkörper haben. Wenn eine Funktion einen prägnanten Hauptteil hat, besteht sie aus einem einzelnen Ausdruck und das Ergebnis dieses Ausdrucks wird zum Rückgabewert. In diesem Fall gibt die Pfeilfunktion das Ergebnis des oneTodo-Funktionsaufrufs zurück, ohne dass eine explizite Return-Anweisung erforderlich ist.
Hinzufügen von geschweiften Klammern
Wenn Sie geschweifte Klammern hinzugefügt haben , hat die Funktion einen Blockkörper eingegeben, der eine explizite Return-Anweisung erfordert, um den Rückgabewert anzugeben. Da Ihrem Code anfangs diese Rückgabeanweisung fehlte, hatte die Funktion einen undefinierten Rückgabewert, was zu Testfehlern führte.
Lösung
Um das Problem zu beheben, müssen Sie eine einschließen explizite Return-Anweisung innerhalb der geschweiften Klammern:
(one) => { return oneTodo(one, action); }
Mit dieser Änderung gibt die Funktion nun explizit das Ergebnis des oneTodo-Funktionsaufrufs zurück, auch wenn sie mit geschrieben wurde geschweifte Klammern.
Zusammenfassung
Um Verwirrung zu vermeiden, ist es wichtig, den Unterschied zwischen prägnanten und Blockkörpern in Pfeilfunktionen zu verstehen. Durch die Einhaltung der richtigen Syntax für jeden Körpertyp können Sie sicherstellen, dass sich Ihre Funktionen wie beabsichtigt verhalten und alle erforderlichen Tests bestehen.
Das obige ist der detaillierte Inhalt vonWarum schlagen meine Pfeilfunktionstests fehl, wenn ich geschweifte Klammern verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!