You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/02-structure/article.md
+25-56Lines changed: 25 additions & 56 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# Structure du code
1
+
# Structure du code
2
2
3
3
La première chose à apprendre est de construire des blocs de code.
4
4
@@ -13,14 +13,14 @@ Nous pouvons avoir autant d'instructions dans le code que nous le souhaitons. Un
13
13
Par exemple, ici nous divisons le message en deux :
14
14
15
15
```js run no-beautify
16
-
alert('Hello'); alert('World');
16
+
alert("Hello"); alert("World");
17
17
```
18
18
19
19
Chaque instruction est généralement écrite sur une ligne distincte - le code devient donc plus lisible :
20
20
21
21
```js run no-beautify
22
-
alert('Hello');
23
-
alert('World');
22
+
alert("Hello");
23
+
alert("World");
24
24
```
25
25
26
26
## Les points-virgules [#semicolon]
@@ -30,8 +30,8 @@ Un point-virgule peut être omis dans la plupart des cas lorsqu'une rupture de l
30
30
Cela fonctionnerait aussi :
31
31
32
32
```js run no-beautify
33
-
alert('Hello')
34
-
alert('World')
33
+
alert("Hello")
34
+
alert("World")
35
35
```
36
36
37
37
Ici, JavaScript interprète le saut de ligne comme un point-virgule "implicite". Cela s'appelle également [une insertion automatique de point-virgule](https://tc39.github.io/ecma262/#sec-automatic-semicolon-insertion).
@@ -46,11 +46,7 @@ alert(3 +
46
46
+2);
47
47
```
48
48
49
-
<<<<<<< HEAD
50
-
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", aucun point-virgule requis. Et dans ce cas, cela fonctionne comme prévu.
51
-
=======
52
-
The code outputs `6` because JavaScript does not insert semicolons here. It is intuitively obvious that if the line ends with a plus `"+"`, then it is an "incomplete expression", so a semicolon there would be incorrect. And in this case, that works as intended.
53
-
>>>>>>> 8558fa8f5cfb16ef62aa537d323e34d9bef6b4de
49
+
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.
54
50
55
51
**Mais il existe des situations où JavaScript "échoue" à prendre un point-virgule là où il est vraiment nécessaire.**
56
52
@@ -65,66 +61,38 @@ alert("Hello");
65
61
[1, 2].forEach(alert);
66
62
```
67
63
68
-
<<<<<<< HEAD
69
-
Pas besoin de penser à la signification des crochets `[]` et `forEach` pour le moment. Nous les étudierons plus tard, pour l'instant, cela n'a pas d'importance. Retenons simplement le résultat: il affiche `1`, puis `2`.
70
-
71
-
Maintenant, ajoutons une `alert` avant le code et **ne le terminons pas** par un point-virgule :
72
-
=======
73
-
No need to think about the meaning of the brackets `[]` and `forEach` yet. We'll study them later. For now, just remember the result of running the code: it shows `Hello`, then `1`, then `2`.
64
+
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`.
74
65
75
-
Now let's remove the semicolon after the `alert`:
76
-
>>>>>>> 8558fa8f5cfb16ef62aa537d323e34d9bef6b4de
66
+
Supprimons maintenant le point-virgule après l’`alert` :
77
67
78
68
```js run no-beautify
79
69
alert("Hello")
80
70
81
71
[1, 2].forEach(alert);
82
72
```
83
73
84
-
<<<<<<< HEAD
85
-
Maintenant, si nous l'exécutons, seul le premier `alert` est affiché, puis nous avons une erreur!
86
-
87
-
Mais tout va bien à nouveau si on ajoute un point-virgule après `alert` :
88
-
```js run
89
-
alert("All fine now");
90
-
=======
91
-
The difference compared to the code above is only one character: the semicolon at the end of the first line is gone.
92
-
>>>>>>> 8558fa8f5cfb16ef62aa537d323e34d9bef6b4de
93
-
94
-
If we run this code, only the first `Hello` shows (and there's an error, you may need to open the console to see it). There are no numbers any more.
95
-
96
-
<<<<<<< HEAD
97
-
Nous avons maintenant le message `"All fine now"`, puis `1` et `2`.
74
+
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.
98
75
76
+
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.
99
77
100
-
L'erreur dans la variante sans point-virgule se produit car JavaScript n'implique pas de point-virgule avant les crochets `[...]`.
78
+
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.
101
79
102
-
Ainsi, le point-virgule n'étant pas inséré automatiquement, le code du premier exemple est traité comme une seule instruction. C'est comme ça que le moteur le voit :
103
-
=======
104
-
That's because JavaScript does not assume a semicolon before square brackets `[...]`. So, the code in the last example is treated as a single statement.
105
-
106
-
Here's how the engine sees it:
107
-
>>>>>>> 8558fa8f5cfb16ef62aa537d323e34d9bef6b4de
80
+
Voici comment le moteur le voit :
108
81
109
82
```js run no-beautify
110
83
alert("Hello")[1, 2].forEach(alert);
111
84
```
112
85
113
-
<<<<<<< HEAD
114
-
Mais ce devrait être deux déclarations distinctes, pas une seule. Une telle fusion dans ce cas est tout simplement erronée, d'où l'erreur. Il y a d'autres situations où une telle chose peut se produire.
115
-
=======
116
-
Looks weird, right? Such merging in this case is just wrong. We need to put a semicolon after `alert` for the code to work correctly.
86
+
Ç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.
117
87
118
-
This can happen in other situations also.
119
-
>>>>>>> 8558fa8f5cfb16ef62aa537d323e34d9bef6b4de
88
+
Cela peut arriver dans d'autres situations aussi.
120
89
````
121
90
122
-
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.
91
+
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.
123
92
124
93
## Les Commentaires [#code-comments]
125
94
126
-
127
-
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.
95
+
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.
128
96
129
97
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.
130
98
@@ -133,34 +101,35 @@ Les commentaires peuvent être placés à n'importe quel endroit du script. Ils
133
101
Le reste de la ligne est un commentaire. Il peut occuper une ligne complète ou suivre une déclaration.
134
102
135
103
Comme ici :
104
+
136
105
```js run
137
106
// Ce commentaire occupe une ligne à part
138
-
alert('Hello');
107
+
alert("Hello");
139
108
140
-
alert('World'); // Ce commentaire suit l'instruction
109
+
alert("World"); // Ce commentaire suit l'instruction
141
110
```
142
111
143
-
**Les commentaires multilignes commencent par une barre oblique et un astérisque <code>/*</code> et se termine par un astérisque et une barre oblique <code>*/</code>.**
112
+
**Les commentaires multilignes commencent par une barre oblique et un astérisque <code>/\*</code> et se termine par un astérisque et une barre oblique <code>\*/</code>.**
144
113
145
114
Comme ceci :
146
115
147
116
```js run
148
117
/* Un exemple avec deux messages.
149
118
C'est un commentaire multiligne.
150
119
*/
151
-
alert('Hello');
152
-
alert('World');
120
+
alert("Hello");
121
+
alert("World");
153
122
```
154
123
155
-
Le contenu des commentaires est ignoré, donc si nous mettons du code à l'intérieur <code>/* ... */</code> il ne s'exécutera pas.
124
+
Le contenu des commentaires est ignoré, donc si nous mettons du code à l'intérieur <code>/\* ... \*/</code> il ne s'exécutera pas.
156
125
157
126
Parfois, il est utile de désactiver temporairement une partie du code :
0 commit comments