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>
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>
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>
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!