Maison >interface Web >js tutoriel >Pourquoi mes tests de fonction de flèche échouent-ils lorsque j'utilise des accolades ?
Accolades dans les fonctions fléchées
Dans une conférence récente, vous avez rencontré un dilemme intéressant en travaillant avec les fonctions fléchées. Plus précisément, vous avez découvert que les tests échouaient lorsqu'une fonction particulière était écrite avec des accolades { }, alors qu'elle fonctionnait correctement sans eux.
Comprendre le problème
Les fonctions fléchées peuvent avoir un corps concis ou un corps de bloc. Lorsqu’une fonction a un corps concis, elle se compose d’une seule expression et le résultat de cette expression devient la valeur de retour. Dans ce cas, la fonction flèche renvoie le résultat de l'appel de la fonction oneTodo sans avoir besoin d'une instruction de retour explicite.
Ajout d'accolades
Lorsque vous avez ajouté des accolades , la fonction est entrée dans un corps de bloc, qui nécessite une instruction return explicite pour spécifier la valeur de retour. Comme votre code ne disposait pas initialement de cette instruction de retour, la fonction avait une valeur de retour non définie, provoquant des échecs de test.
Solution
Pour résoudre le problème, vous devez inclure un instruction de retour explicite entre accolades :
(one) => { return oneTodo(one, action); }
Avec ce changement, la fonction renvoie désormais explicitement le résultat de l'appel de la fonction oneTodo, même lorsqu'elle est écrite avec accolades.
Résumé
Comprendre la différence entre les corps concis et bloc dans les fonctions de flèche est crucial pour éviter toute confusion. En adhérant à la syntaxe correcte pour chaque type de corps, vous pouvez vous assurer que vos fonctions se comportent comme prévu et réussissent tous les tests nécessaires.
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!