Maison > interface Web > js tutoriel > Comment renvoyer correctement les objets des fonctions fléchées ES6 ?

Comment renvoyer correctement les objets des fonctions fléchées ES6 ?

Linda Hamilton
Libérer: 2024-12-31 17:59:10
original
499 Les gens l'ont consulté

How to Correctly Return Objects from ES6 Arrow Functions?

Renvoi d'objets à partir de fonctions fléchées dans ECMAScript 6

Dans ECMAScript 6 (ES6), les fonctions fléchées fournissent une syntaxe concise pour définir des fonctions. Cependant, lors du renvoi d'un objet à partir d'une fonction fléchée, une confusion courante survient en raison d'une ambiguïté grammaticale.

L'extrait de code suivant entraînera un comportement inattendu :

p => {foo: "bar"}
Copier après la connexion

Cette expression renverra undefined au lieu de l'objet attendu. Pour résoudre ce problème, un ensemble supplémentaire d'accolades et un mot-clé return sont requis :

p => { return {foo: "bar"}; }
Copier après la connexion

Cette approche garantit que les accolades sont interprétées comme un objet littéral, et non comme le corps de la fonction.

Cependant, cette syntaxe supplémentaire peut être lourde. Heureusement, une solution plus simple existe. En enveloppant le littéral de l'objet entre parenthèses, l'ambiguïté est résolue :

p => ({ foo: 'bar' })
Copier après la connexion

Avec cette modification, les accolades désignent clairement le littéral de l'objet et le mot-clé return n'est pas nécessaire. Cette technique peut être appliquée à toute autre expression renvoyée par une fonction flèche, éliminant ainsi le besoin d'une surcharge de syntaxe supplémentaire :

p => 10
p => 'foo'
p => true
p => [1,2,3]
p => null
p => /^foo$/
Copier après la connexion

En comprenant l'ambiguïté grammaticale et en utilisant la technique d'habillage des parenthèses, les développeurs peuvent renvoyer efficacement des objets. à partir des fonctions fléchées dans ECMAScript 6.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal