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
Dans l'exemple sans accolades :
state.map(one => oneTodo(one, action))
La fonction renvoie immédiatement le résultat de l'appel de oneTodo sur celui 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 implicitement renvoie 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.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!