Maison >interface Web >js tutoriel >Pourquoi les fonctions fléchées avec des accolades renvoient-elles « undéfini » à moins qu'elles ne soient explicitement renvoyées ?
Fonctions fléchées : comprendre la valeur de retour manquante
Dans le domaine de JavaScript, les fonctions fléchées sont devenues un choix populaire pour des messages concis et expressifs. code. Cependant, un piège courant peut survenir lors de l'utilisation de la version du corps de la fonction (avec des accolades).
Le problème : valeur de retour manquante
Considérez la fonction fléchée suivante :
const f = arg => { arg.toUpperCase(); };
Lorsqu'elle est invoquée, cette fonction renvoie undéfini au lieu de la valeur attendue. Pourquoi ?
Dévoilement du retour implicite
Dans les fonctions fléchées, l'instruction return est implicitement appliquée lors de l'utilisation du corps concis (sans accolades). Cela signifie que le résultat de l'expression entre parenthèses devient la valeur renvoyée.
Exemple de corps concis :
const f = arg => arg.toUpperCase();
Maintenant, l'appel de cette fonction renvoie la chaîne souhaitée :
console.log(f("testing")); // "TESTING"
Retour explicite pour la fonction Corps
Cependant, lors de l'utilisation d'accolades, une instruction return explicite est nécessaire pour indiquer ce qui doit être renvoyé. Sinon, la fonction retournera undefined.
Exemple de retour explicite :
const f = arg => { return arg.toUpperCase(); };
L'appel de cette fonction modifiée produit le même résultat :
console.log(f("testing")); // "TESTING"
Rappelez-vous : Un retour implicite existe dans le corps concis des fonctions fléchées, tandis qu'un retour explicite est requis lors de l'utilisation d'accolades pour le corps de fonction. Comprendre cette distinction est crucial pour éviter des valeurs non définies inattendues dans votre 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!