Renvoi d'objets à partir de fonctions fléchées dans ECMAScript 6
Dans ECMAScript 6, lorsqu'il s'agit de fonctions fléchées qui renvoient des objets, une ambiguïté de syntaxe survient. Le code suivant génère une erreur :
p => {foo: "bar"}
Pour résoudre cette ambiguïté, vous devez mettre le littéral de l'objet renvoyé entre parenthèses :
p => ({ foo: "bar" })
Cela force les accolades à être interprétées comme faisant partie du littéral de l'objet, pas du corps de la fonction.
Cette étape supplémentaire n'est pas nécessaire pour renvoyer d'autres non-objets valeurs :
p => 10 p => 'foo' p => true p => [1,2,3] p => null p => /^foo$/
Le raisonnement derrière cette syntaxe est susceptible d'empêcher la création accidentelle d'objets. En exigeant des parenthèses, il devient plus explicite que la fonction est destinée à renvoyer un objet.
Par conséquent, lors du renvoi d'un objet à partir d'une fonction fléchée, il est crucial de ne pas oublier d'envelopper le littéral de l'objet entre parenthèses pour éviter la syntaxe. erreurs ou comportement inattendu.
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!