Accolades dans les fonctions fléchées : retours implicites ou explicites
Les fonctions fléchées peuvent être écrites de deux manières : avec ou sans accolades. Lorsque les accolades sont absentes, le corps de la fonction est considéré comme un « corps concis » et la dernière expression qu'il contient est implicitement renvoyée.
Retour implicite avec corps concis
In l'exemple sans accolades :
state.map(one => oneTodo(one, action))
La fonction renvoie immédiatement le résultat d'appeler oneTodo sur un argument.
Retour explicite avec bloc
Lorsque des accolades sont introduites, comme dans le premier bloc de code :
state.map(one => { oneTodo(one, action) })
Un bloc est créé et il doit renvoyer explicitement une valeur. L'instruction return dans ce bloc est nécessaire pour indiquer quelle valeur doit être renvoyée.
Quand utiliser les accolades
Dans le contexte de l'exemple fourni, le code fonctionne dans les deux sens car le corps concis renvoie implicitement le résultat de oneTodo. Cependant, les tests échouent lorsque des accolades sont utilisées sans retour explicite car il n’y a aucune valeur à renvoyer. Par conséquent, pour plus de clarté et de cohérence, il est recommandé d'utiliser des accolades et une instruction de retour explicite lorsque le corps de la fonction contient plusieurs instructions ou nécessite des valeurs de retour explicites.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3