🌐 AIæœçŽą & 代理 䞻饔
7 juillet 2021

Structure du code

La premiĂšre chose Ă  apprendre est de construire des blocs de code.

Instructions

Les instructions sont des constructions de syntaxe et des commandes qui effectuent des actions.

Nous avons déjà vu une instruction alert("Hello World!") qui affiche le message.

Nous pouvons avoir autant d’instructions dans le code que nous le souhaitons. Une autre instruction peut ĂȘtre sĂ©parĂ©e par un point-virgule.

Par exemple, ici nous divisons le message en deux :

alert("Hello"); alert("World");

Chaque instruction est gĂ©nĂ©ralement Ă©crite sur une ligne distincte – le code devient donc plus lisible :

alert("Hello");
alert("World");

Les points-virgules

Un point-virgule peut ĂȘtre omis dans la plupart des cas lorsqu’une rupture de ligne existe.

Cela fonctionnerait aussi :

alert("Hello")
alert("World")

Ici, JavaScript interprĂšte le saut de ligne comme un point-virgule “implicite”. Cela s’appelle Ă©galement une insertion automatique de point-virgule.

Dans la plupart des cas, une nouvelle ligne implique un point-virgule. Mais “dans la plupart des cas” ne signifie pas “toujours”!

Il y a des cas oĂč une nouvelle ligne ne signifie pas un point-virgule, par exemple :

alert(3 +
1
+ 2);

Le code gĂ©nĂšre 6, car JavaScript n’insĂšre pas de point-virgule ici. Il est intuitivement Ă©vident que si la ligne se termine par un plus "+", alors c’est une “expression incomplĂšte”, donc un point-virgule serait incorrect. Et dans ce cas, cela fonctionne comme prĂ©vu.

Mais il existe des situations oĂč JavaScript â€œĂ©choue” Ă  prendre un point-virgule lĂ  oĂč il est vraiment nĂ©cessaire.

Les erreurs qui surviennent dans de tels cas sont assez difficiles Ă  trouver et Ă  corriger.

Un exemple d’erreur

Si vous ĂȘtes curieux de voir un exemple concret d’une telle erreur, vĂ©rifiez ce code :

alert("Hello");

[1, 2].forEach(alert);

Pas besoin de penser Ă  la signification des crochets [] et forEach pour le moment. Nous les Ă©tudierons plus tard, pour l’instant, retenons simplement le rĂ©sultat de l’exĂ©cution du code : il affiche Hello, puis 1, puis 2.

Supprimons maintenant le point-virgule aprùs l’alert :

alert("Hello")

[1, 2].forEach(alert);

La diffĂ©rence par rapport au code ci-dessus n’est qu’un caractĂšre : le point-virgule Ă  la fin de la premiĂšre ligne a disparu.

Si nous exĂ©cutons ce code, seul le premier Hello s’affiche (et il y a une erreur, vous devrez peut-ĂȘtre ouvrir la console pour le voir). Il n’y a plus de chiffres.

C’est parce que JavaScript ne suppose pas de point-virgule avant les crochets [...]. Ainsi, le code du dernier exemple est traitĂ© comme une seule instruction.

Voici comment le moteur le voit :

alert("Hello")[1, 2].forEach(alert);

Ça a l’air bizarre, non ? Une telle fusion dans ce cas est tout simplement une erreur. Nous devons mettre un point-virgule aprùs l’alert pour que le code fonctionne correctement.

Cela peut arriver dans d’autres situations aussi.

Il est recommandĂ© de mettre les points-virgules entre les instructions, mĂȘme si elles sont sĂ©parĂ©es par des nouvelles lignes. Cette rĂšgle est largement adoptĂ©e par la communautĂ©. Notons encore une fois – il est possible de laisser de cĂŽtĂ© les points-virgules la plupart du temps. Mais il est plus sĂ»r – surtout pour un dĂ©butant – de les utiliser.

Les Commentaires

Au fil du temps, le programme devient de plus en plus complexe. Il devient nĂ©cessaire d’ajouter des commentaires qui dĂ©crivent ce qui se passe et pourquoi.

Les commentaires peuvent ĂȘtre placĂ©s Ă  n’importe quel endroit du script. Ils n’affectent pas l’exĂ©cution, car le moteur les ignore simplement.

Les commentaires sur une ligne commencent par deux barres obliques //.

Le reste de la ligne est un commentaire. Il peut occuper une ligne complÚte ou suivre une déclaration.

Comme ici :

// Ce commentaire occupe une ligne Ă  part
alert("Hello");

alert("World"); // Ce commentaire suit l'instruction

Les commentaires multilignes commencent par une barre oblique et un astérisque /* et se termine par un astérisque et une barre oblique */.

Comme ceci :

/* Un exemple avec deux messages.
C'est un commentaire multiligne.
*/
alert("Hello");
alert("World");

Le contenu des commentaires est ignorĂ©, donc si nous mettons du code Ă  l’intĂ©rieur /* 
 */ il ne s’exĂ©cutera pas.

Parfois, il est utile de désactiver temporairement une partie du code :

/* Commenter le code
alert('Hello');
*/
alert("World");
Utiliser les raccourcis !

Dans la plupart des Ă©diteurs, une ligne de code peut ĂȘtre commentĂ©e par le raccourci Ctrl+/ pour un commentaire sur une seule ligne et quelque chose comme Ctrl+Shift+/ – pour les commentaires multilignes (sĂ©lectionnez un morceau de code et appuyez sur la combinaison de touches). Pour Mac essayez Cmd au lieu de Ctrl et Option au lieu de Shift.

Les commentaires imbriqués ne sont pas supportés !

Il peut ne pas y avoir /*...*/ Ă  l’intĂ©rieur d’un autre /*...*/.

Un tel code se terminera avec une erreur :

/*
  /* commentaire imbriqué ?!? */
*/
alert( 'World' );

N’hĂ©sitez pas Ă  commenter votre code.

Les commentaires augmentent la taille globale du code, mais ce n’est pas un problĂšme du tout. De nombreux outils permettent de rĂ©duire le code avant de le publier sur le serveur de production. Ils suppriment les commentaires, ils n’apparaissent donc pas dans les scripts de travail. Les commentaires n’ont donc aucun effet nĂ©gatif sur la production.

Plus loin dans le tutoriel, il y aura un chapitre Style de codage qui explique également comment écrire de meilleurs commentaires.

Carte du tutoriel

Commentaires

lire ceci avant de commenter

  • Si vous avez des amĂ©liorations Ă  suggĂ©rer, merci de soumettre une issue GitHub ou une pull request au lieu de commenter.
  • Si vous ne comprenez pas quelque chose dans l'article, merci de prĂ©ciser.
  • Pour insĂ©rer quelques bouts de code, utilisez la balise <code>, pour plusieurs lignes – enveloppez-les avec la balise <pre>, pour plus de 10 lignes - utilisez une sandbox (plnkr, jsbin, codepen
)