Maison >interface Web >js tutoriel >Quand les fonctions fléchées ES6 nécessitent-elles une instruction « return » explicite ?

Quand les fonctions fléchées ES6 nécessitent-elles une instruction « return » explicite ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-24 08:51:10558parcourir

When Do ES6 Arrow Functions Require an Explicit `return` Statement?

Quand un retour explicite est-il requis dans les fonctions fléchées ES6 ?

Dans ES6, les fonctions fléchées renvoient implicitement l'expression dans leur corps concis, éliminant ainsi la nécessité du mot-clé return dans les scénarios avec une seule expression. Cependant, il existe des cas spécifiques où une instruction return explicite est toujours nécessaire.

Quand utiliser le retour avec les fonctions fléchées

  • Lorsqu'un bloc est Présent : Une fonction flèche avec des accolades (un bloc) perd son comportement de retour implicite. Une instruction return explicite doit être utilisée pour spécifier la valeur de retour de la fonction. Exemple :
() => { console.log('Hello'); } // Implicit return, logs 'Hello'
() => { return 'Hello'; } // Explicit return, returns 'Hello'
  • Syntaxe ambiguë : L'utilisation d'accolades sans retour explicite peut créer une ambiguïté syntaxique. Par exemple, la fonction fléchée suivante :
(name) => {id: name}

Renvoie undéfini car les accolades indiquent un bloc, interprétant l'identifiant comme une étiquette plutôt que comme un nom de propriété.

  • Expressions multilignes : Lorsque l'expression d'une fonction fléchée s'étend sur plusieurs lignes, il peut être déroutant de se rappeler si le retour était inclus. Pour éviter les erreurs, utilisez explicitement return pour garantir la valeur de retour correcte.

Exemples

Retour implicite :

(name) => name + '!'; // Implicit return, returns 'Jess!'

Retour explicite :

(name) => { return name + '!'; } // Explicit return, returns 'Jess!'

Dans En résumé, si une fonction fléchée contient un bloc, a une syntaxe ambiguë ou s'étend sur plusieurs lignes, une instruction return explicite est nécessaire pour spécifier la valeur de retour de la fonction. Sinon, l'expression dans le corps de la fonction flèche est implicitement renvoyée.

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