Maison > interface Web > js tutoriel > le corps du texte

Pourquoi une nouvelle ligne après « retour » en JavaScript entraîne-t-elle le retour de « undéfini » ?

Patricia Arquette
Libérer: 2024-11-06 11:20:03
original
831 Les gens l'ont consulté

Why Does a Newline After `return` in JavaScript Cause `undefined` to Be Returned?

Javascript : Pourquoi l'instruction Return sur une nouvelle ligne ne fonctionne pas ?

En JavaScript, l'instruction return est utilisée pour renvoyer une valeur à partir d'une fonction. Toutefois, un comportement inattendu peut se produire lorsque la valeur de retour est placée sur une nouvelle ligne. Voyons pourquoi cela se produit.

Pour illustrer le problème, considérons le code suivant :

<code class="javascript">function correct() {
  return 15;
}

function wrong() {
  return
        15;
}</code>
Copier après la connexion

Dans la fonction correct(), l'instruction return 15 se trouve sur une seule ligne. L’exécution de cette fonction renverra la valeur attendue, 15. Cependant, la fonction false() a l’instruction return suivie d’une nouvelle ligne. L'exécution de cette fonction renvoie undefined au lieu de 15.

Étonnamment, l'implémentation incorrecte suivante fonctionne correctement :

<code class="javascript">function wrong() {
  return(
        15);
}</code>
Copier après la connexion

Cela suggère que la syntaxe n'est pas incorrecte, alors pourquoi la première erreur () l'implémentation échoue ?

Comprendre le rôle des points-virgules

En JavaScript, les points-virgules sont facultatifs. Cependant, l'interpréteur les insère automatiquement à certains caractères de nouvelle ligne là où il le juge nécessaire. Dans le cas de la première implémentation de false(), la nouvelle ligne après return déclenche l'insertion d'un point-virgule.

Le code résultant ressemble à ceci :

<code class="javascript">function wrong() {
  return;
        15;
}</code>
Copier après la connexion

Ceci est incorrect, car le L'instruction return est maintenant suivie d'une expression (15), ce qui n'est pas autorisé.

Parenthèse à la rescousse

Dans la deuxième implémentation de false(), les parenthèses ( ) entourant l'expression return 15 empêche l'interpréteur d'insérer un point-virgule. Au lieu de cela, l'expression reste intacte, ce qui donne la valeur de retour correcte.

Par conséquent, en JavaScript, lorsque vous utilisez l'instruction return, assurez-vous qu'elle se trouve sur une seule ligne sans aucune expression ultérieure. Si nécessaire, utilisez des parenthèses pour contrôler le comportement d'insertion du point-virgule et obtenir la valeur de retour souhaité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!

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!