Placement des accolades : un facteur important dans les résultats JavaScript
En JavaScript, le placement des accolades peut sensiblement modifier la sortie d'un extrait de code. Considérons les deux exemples suivants :
<code class="javascript">function test() { return { /* <- curly brace on a new line */ javascript: "fantastic" }; }</code>
<code class="javascript">function test() { return { /* <- curly brace on the same line */ javascript: "fantastic" }; }</code>
Lorsque l'accolade ouvrante se trouve sur une nouvelle ligne, comme dans le premier exemple, le code renvoie « indéfini ». En effet, la fonction d'insertion automatique de point-virgule de JavaScript interprète l'instruction « return » comme une instruction d'expression, donc aucune accolade n'est nécessaire. Le code devient effectivement :
<code class="javascript">function test() { return; { javascript: "fantastic" }; }</code>
Cependant, lorsque l'accolade est sur la même ligne que 'return', le code renvoie un objet avec une propriété 'javascript'. Dans ce cas, les accolades définissent l'objet renvoyé par la fonction.
Ce comportement est cohérent avec la syntaxe JavaScript pour les littéraux d'objet. Lorsqu'un littéral d'objet est utilisé comme instruction, il doit être contenu entre parenthèses pour éviter les conflits avec l'insertion automatique de points-virgules. Par exemple :
<code class="javascript">var obj = ({ javascript: "fantastic" });</code>
Comprendre les implications subtiles du placement des accolades peut améliorer considérablement la précision et la fiabilité du code JavaScript.
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!