Maison >interface Web >js tutoriel >Fonctions fléchées en JavaScript : quand utiliser des parenthèses ou des accolades ?

Fonctions fléchées en JavaScript : quand utiliser des parenthèses ou des accolades ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-01 22:15:12996parcourir

Arrow Functions in JavaScript: When to Use Parentheses vs. Curly Braces?

Fonctions fléchées : quand utiliser les parenthèses et les accolades

Les fonctions fléchées, introduites dans ES6, sont une syntaxe concise pour définir des fonctions. Ils utilisent une « grosse flèche » (=>) pour représenter le corps de la fonction. Cependant, il convient de noter que les fonctions fléchées utilisent parfois des accolades ({}), tandis que d'autres utilisent des parenthèses (()).

Parenthèses pour les expressions de retour sur une seule ligne

Lorsque le corps de la fonction flèche est constitué d'une seule expression, des parenthèses sont utilisées pour encadrer l'expression, indiquant que la fonction flèche renvoie uniquement cette valeur. Par exemple :

const a = (who) => `hello ${who}!`;

Ce code définit une fonction de flèche qui renvoie une chaîne. Les parenthèses autour de « bonjour ${who} ! » indique qu'il s'agit d'une expression unique.

Accolades pour les blocs de code multilignes

Les accolades sont utilisées lorsque le corps de la fonction flèche contient plusieurs lignes de code. Chaque ligne représente une instruction et le corps entier devient un bloc de code. Par exemple :

const handleBar = (e) => {
  e.preventDefault();
  dispatch('logout');
};

Ce code définit un gestionnaire d'événements qui contient deux instructions, d'où la nécessité d'accolades.

Exemples pratiques

Considérez les exemples suivants qui illustrent la différence :

const b = (who) => ("hello " + who + "!");
const c = (who) => (
  "hello " + who + "!"
);
const d = (who) => (
  "hello "
    + who
    + "!"
);

Parenthèses dans l'objet Littéraux

Une autre utilisation des parenthèses dans les fonctions fléchées consiste à entourer des littéraux d'objet. Ceci est fait pour empêcher l'analyseur de traiter l'objet comme un bloc de code.

const y = () => ({}); // returns an object

Ce code définit une fonction de flèche qui renvoie un objet vide. Les parenthèses garantissent que l'analyseur l'interprète comme un objet littéral, et non comme un bloc de code.

Par conséquent, l'utilisation d'accolades ou de parenthèses dans les fonctions fléchées dépend du fait que le corps de la fonction contient une expression sur une seule ligne ou plusieurs lignes de code. Les parenthèses sont utilisées pour les expressions simples, tandis que les accolades sont utilisées pour les blocs de code.

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