Maison >interface Web >js tutoriel >Pourquoi mes tests de fonction de flèche échouent-ils lorsque j'utilise des accolades ?

Pourquoi mes tests de fonction de flèche échouent-ils lorsque j'utilise des accolades ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-04 12:47:10383parcourir

Why Do My Arrow Function Tests Fail When I Use Curly Brackets?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn