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/01-getting-started/1-intro/article.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -79,7 +79,7 @@ Les exemples de telles restrictions sont:
79
79
80
80
- JavaScript peut facilement communiquer sur le net avec le serveur d'où provient la page en cours. Mais sa capacité à recevoir des données d'autres sites / domaines est paralysée. Bien que possible, il nécessite un accord explicite (exprimé dans les en-têtes HTTP) du côté distant. Encore une fois, ce sont des limites de sécurité.
81
81
82
-

82
+

83
83
84
84
De telles limites n'existent pas si JavaScript est utilisé en dehors du navigateur, par exemple sur un serveur. Les navigateurs modernes permettent également l’installation de plug-ins / extensions susceptibles d’obtenir des autorisations étendues.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/08-operators/article.md
+14-13Lines changed: 14 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ Dans ce chapitre, nous nous concentrons sur les aspects qui ne sont pas couverts
8
8
9
9
Avant de continuer, saisissons la terminologie commune.
10
10
11
-
- Un opérande est ce à quoi les opérateurs sont appliqués. Par exemple, dans la multiplication `5 * 2`, il y a deux opérandes: l'opérande gauche est `5` et l'opérande droit est `2`. Parfois, les gens disent "arguments" au lieu de "opérandes".
11
+
- Un opérande est ce à quoi les opérateurs sont appliqués. Par exemple, dans la multiplication `5 * 2`, il y a deux opérandes: l'opérande gauche est `5` et l'opérande droit est `2`. Parfois, les gens disent "arguments" au lieu de "opérandes".
12
12
- Un opérateur est unaire s'il a un seul opérande. Par exemple, la négation unaire `-` inverse le signe du nombre :
13
13
14
14
```js run
@@ -47,19 +47,20 @@ L'opérateur reste `%`, malgré son apparence, n'est pas lié aux pourcentages.
47
47
48
48
Le résultat de `a % b` est le [reste](https://fr.wikipedia.org/wiki/Reste) de la division entière de `a` par `b`.
En mathématiques à l'école, nous écrivons cela a<sup>b</sup>.
61
62
62
-
Par exemple:
63
+
Par exemple:
63
64
64
65
```js run
65
66
alert( 2 ** 2 ); // 2² = 4
@@ -118,7 +119,7 @@ Ici, le premier opérande est une chaîne de caractères, le compilateur traite
118
119
119
120
Le binaire `+` est le seul opérateur qui prend en charge les chaînes de caractères de cette manière. D'autres opérateurs arithmétiques ne fonctionnent qu'avec des nombres et convertissent toujours leurs opérandes en nombres.
120
121
121
-
Voici l'exemple pour la soustraction et la division:
122
+
Voici l'exemple pour la soustraction et la division:
122
123
```js run
123
124
alert( 6 - '2' ); // 4, convertit '2' en nombre
124
125
alert( '6' / '2' ); // 3, convertit les deux opérandes en nombres
@@ -185,7 +186,7 @@ Si une expression a plusieurs opérateurs, l’ordre d’exécution est défini
185
186
186
187
De l'école, nous savons tous que la multiplication dans l'expression `1 + 2 * 2` devrait être calculée avant l'addition. C’est exactement cela la précédence. La multiplication est dite avoir une *précédence supérieure* à l'addition.
187
188
188
-
Les parenthèses outrepassent toute priorité, donc si nous ne sommes pas satisfaits de l'ordre par défaut, nous pouvons les utiliser, comme: `(1 + 2) * 2`.
189
+
Les parenthèses outrepassent toute priorité, donc si nous ne sommes pas satisfaits de l'ordre par défaut, nous pouvons les utiliser, comme: `(1 + 2) * 2`.
189
190
190
191
Il y a beaucoup d'opérateurs en JavaScript. Chaque opérateur a un numéro correspondant à sa priorité de précédence. Celui qui est plus haut sur le tableau s'exécute en premier. Si la priorité est la même, l'ordre d'exécution est de gauche à droite.
191
192
@@ -227,7 +228,7 @@ Tous les opérateurs en JavaScript renvoient une valeur. C'est évident pour `+`
227
228
228
229
L'appel `x = valeur` écrit la` valeur` dans `x`*puis la renvoie*.
229
230
230
-
Voici un exemple qui utilise une affectation dans le cadre d'une expression plus complexe:
231
+
Voici un exemple qui utilise une affectation dans le cadre d'une expression plus complexe:
231
232
232
233
```js run
233
234
let a = 1;
@@ -263,9 +264,9 @@ alert( b ); // 4
263
264
alert( c ); // 4
264
265
```
265
266
266
-
Les affectations en chaîne sont évaluées de droite à gauche. D'abord, l'expression la plus à droite `2 + 2` est évaluée puis assignée aux variables de gauche: `c`, `b` et `a`. À la fin, toutes les variables partagent une seule valeur.
267
+
Les affectations en chaîne sont évaluées de droite à gauche. D'abord, l'expression la plus à droite `2 + 2` est évaluée puis assignée aux variables de gauche: `c`, `b` et `a`. À la fin, toutes les variables partagent une seule valeur.
267
268
268
-
Encore une fois, pour des raisons de lisibilité, il est préférable de diviser ce code en quelques lignes:
269
+
Encore une fois, pour des raisons de lisibilité, il est préférable de diviser ce code en quelques lignes:
269
270
270
271
```js
271
272
c = 2 + 2;
@@ -296,14 +297,14 @@ n *= 2; // maintenant n = 14 (identique à n = n * 2)
296
297
alert( n ); // 14
297
298
```
298
299
299
-
Il existe de opérateurs de "modification et assignation" courts pour tous les opérateurs arithmétiques et binaires:`/=`, `-=` etc.
300
+
Il existe des opérateurs de "modification et assignation" courts pour tous les opérateurs arithmétiques et binaires:`/=`, `-=` etc.
300
301
301
302
Ces opérateurs ont la même précédence qu'une affectation normale. Ils s'exécutent donc après la plupart des autres calculs :
302
303
303
304
```js run
304
305
let n = 2;
305
306
306
-
n *= 3 + 5; // right part evaluated first, same as n *= 8
307
+
n *= 3 + 5; // la partie de droite est évaluée en premier (identique à n *= 8)
307
308
308
309
alert( n ); // 16
309
310
```
@@ -320,14 +321,14 @@ Il y a donc des opérateurs spéciaux pour cela :
320
321
321
322
```js run no-beautify
322
323
let counter = 2;
323
-
counter++; // fonctionne de la même manière que counter = counter + 1, mais c'est plus court
324
+
counter++; // fonctionne de la même manière que counter = counter + 1, mais c'est plus court
324
325
alert( counter ); // 3
325
326
```
326
327
-**Décrémentation**`--` diminue une variable de 1:
327
328
328
329
```js run no-beautify
329
330
let counter = 2;
330
-
counter--; // fonctionne de la même manière que counter = counter - 1, mais c'est plus court
331
+
counter--; // fonctionne de la même manière que counter = counter - 1, mais c'est plus court
331
332
alert( counter ); // 1
332
333
```
333
334
@@ -338,7 +339,7 @@ L'incrémentation / décrémentation ne peut être appliquée qu'à une variable
338
339
Les opérateurs `++` et `--` peuvent être placés à la fois après et avant la variable.
339
340
340
341
- Lorsque l'opérateur va après la variable, cela s'appelle une "forme postfixe":`counter++`.
341
-
- La "forme préfixe" est celle où l'opérateur se place devant la variable: `++counter`.
342
+
- La "forme préfixe" est celle où l'opérateur se place devant la variable: `++counter`.
342
343
343
344
Ces deux operateurs font la même chose : augmenter le `counter` de `1`.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/09-comparison/article.md
+10-9Lines changed: 10 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,6 +45,7 @@ Par exemple :
45
45
alert( 'Z'>'A' ); // true
46
46
alert( 'Glow'>'Glee' ); // true
47
47
alert( 'Bee'>'Be' ); // true
48
+
alert( '9'>'10' ); // true
48
49
```
49
50
50
51
L'algorithme pour comparer deux chaînes de caractères est simple :
@@ -161,8 +162,8 @@ Pour un contrôle d'égalité non strict `==`
161
162
alert( null == undefined ); // true
162
163
```
163
164
164
-
Pour les maths et autres comparaisons `< > <= >=`
165
-
: Les valeurs `null/undefined` sont converties en un nombre : `null` devient `0`, alors qu'`undefined` devient `NaN`.
165
+
Pour les maths et autres comparaisons `<`, `>`, `<=`, `>=`
166
+
: Les valeurs `null`/`undefined` sont converties en un nombre : `null` devient `0`, alors qu'`undefined` devient `NaN`.
166
167
167
168
Voyons maintenant des choses amusantes qui se produisent lorsque nous appliquons ces règles. Et, ce qui est plus important, comment ne pas tomber dans un piège avec ces caractéristiques.
Ouais, mathématiquement c'est étrange. Le dernier résultat indique que "`null` est supérieur ou égal à zéro". Alors que l'une des comparaisons au dessus devrait être correcte, mais les deux sont fausses.
180
181
181
-
La raison est qu'une vérification d'égalité `==` et les comparaisons> `<> >= <=`fonctionnent différemment. Les comparaisons convertissent `null` en un nombre, donc le traitent comme `0`. C'est pourquoi (3) `null >= 0` est vrai et (1) `nul > 0` est faux.
182
+
La raison est qu'une vérification d'égalité (`==`) et les comparaisons (`<`, `>`, `<=`, `>=`) fonctionnent différemment. Les comparaisons convertissent `null` en un nombre, donc le traitent comme `0`. C'est pourquoi (3) `null >= 0` est vrai et (1) `null > 0` est faux.
182
183
183
184
D’un autre côté, la vérification de l’égalité `==` pour `undefined` et `null` est définie de telle sorte que, sans aucune conversion, ils sont égaux et ne correspondent à rien d’autre. C'est pourquoi (2) `null == 0` est faux.
184
185
@@ -187,8 +188,8 @@ D’un autre côté, la vérification de l’égalité `==` pour `undefined` et
187
188
La valeur `undefined` ne doit pas du tout participer aux comparaisons :
188
189
189
190
```js run
190
-
alert( undefined>0 ); // false (1)
191
-
alert( undefined<0 ); // false (2)
191
+
alert( undefined>0 ); // false (1)
192
+
alert( undefined<0 ); // false (2)
192
193
alert( undefined==0 ); // false (3)
193
194
```
194
195
@@ -203,14 +204,14 @@ Nous avons ces résultats parce que :
203
204
204
205
Pourquoi avons-nous observé ces exemples? Devrions-nous nous souvenir de ces particularités tout le temps ? Eh bien pas vraiment. En fait, ces notions délicates deviennent progressivement familières au fil du temps, mais il existe un moyen solide d’éviter tout problème avec elles.
205
206
206
-
Il suffit de traiter toute comparaison avec `undefined/null` (à l'exception de la stricte égalité `===`) avec un soin exceptionnel.
207
+
Il suffit de traiter toute comparaison avec `null`/`undefined` (à l'exception de la stricte égalité `===`) avec un soin exceptionnel.
207
208
208
-
N'utilisez pas de comparaisons `=> > < <=` avec une variable qui peut être `null/undefined`, sauf si vous êtes vraiment sûr de ce que vous faites. Si une variable peut avoir de telles valeurs, vérifiez-les séparément.
209
+
N'utilisez pas de comparaisons `=>`, `>`, `<`, `<=` avec une variable qui peut être `null`/`undefined`, sauf si vous êtes vraiment sûr de ce que vous faites. Si une variable peut avoir de telles valeurs, vérifiez-les séparément.
209
210
210
211
## Résumé
211
212
212
213
- Les opérateurs de comparaison renvoient une valeur logique.
213
214
- Les chaînes de caractères sont comparées lettre par lettre dans l'ordre "dictionnaire".
214
215
- Lorsque des valeurs de différents types sont comparées, elles sont converties en nombres (à l'exclusion d'un contrôle d'égalité strict).
215
-
- Les valeurs `null` et `undefined` sont égales `==` et ne correspondent à aucune autre valeur.
216
-
- Soyez prudent lorsque vous utilisez des comparaisons telles que `>` ou `<` avec des variables pouvant parfois être `null/undefined`. Faire une vérification séparée pour `null/undefined` est une bonne idée.
216
+
- Les valeurs `null` et `undefined` sont égales (`==`) et ne correspondent à aucune autre valeur.
217
+
- Soyez prudent lorsque vous utilisez des comparaisons telles que `>` ou `<` avec des variables pouvant parfois être `null`/`undefined`. Faire une vérification séparée pour `null`/`undefined` est une bonne idée.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/10-ifelse/article.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ if (year == 2015) {
29
29
}
30
30
```
31
31
32
-
Il est recommandé d'entourer votre bloc de code avec des accolades `{}` à chaque fois avec `if`, même s’il n’ya qu’une seule instruction. Cela améliore la lisibilité.
32
+
Il est recommandé d'entourer votre bloc de code avec des accolades `{}` à chaque fois avec `if`, même s’il n’y a qu’une seule instruction. Cela améliore la lisibilité.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/11-logical-operators/article.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,9 +21,9 @@ En JavaScript, l'opérateur est un peu plus compliqué et puissant. Mais voyons
21
21
Il existe quatre combinaisons logiques possibles :
22
22
23
23
```js run
24
-
alert( true||true); // true
25
-
alert( false||true); // true
26
-
alert( true||false );// true
24
+
alert( true||true );// true
25
+
alert( false||true );// true
26
+
alert( true||false ); // true
27
27
alert( false||false ); // false
28
28
```
29
29
@@ -53,7 +53,7 @@ if (hour < 10 || hour > 18) {
53
53
}
54
54
```
55
55
56
-
Nous pouvons passer plus de conditions :
56
+
Nous pouvons passer plus de conditions :
57
57
58
58
```js run
59
59
let hour =12;
@@ -84,7 +84,7 @@ L'opérateur OR `||` fait ce qui suit :
84
84
85
85
Une valeur est renvoyée sous sa forme d'origine, sans conversion.
86
86
87
-
En d'autres termes, une chaîne de OR `||` renvoie la première valeur vraie ou la dernière si aucune valeur vraie n'est trouvée.
87
+
En d'autres termes, une chaîne de OR `||` renvoie la première valeur `true` ou la dernière valeur si aucune valeur `true` n'a été trouvée.
88
88
89
89
Par exemple :
90
90
@@ -115,7 +115,7 @@ Cela conduit à des usages intéressants par rapport à un "OR pur, classique, b
115
115
*/!*
116
116
```
117
117
118
-
If all variables were falsy, `"Anonymous"`would show up.
118
+
Si toutes les variables étaient fausses, ce serait `"Anonymous"`qui apparaîtrait.
119
119
120
120
2.**Évaluation des courts-circuits.**
121
121
@@ -147,9 +147,9 @@ result = a && b;
147
147
En programmation classique, AND retourne `true` si les deux opérandes sont `true` et `false` dans les autres cas :
148
148
149
149
```js run
150
-
alert( true && true ); // true
151
-
alert( false && true ); // false
152
-
alert( true && false ); // false
150
+
alert( true && true ); // true
151
+
alert( false && true ); // false
152
+
alert( true && false ); // false
153
153
alert( false && false ); // false
154
154
```
155
155
@@ -187,7 +187,7 @@ L'opérateur AND `&&` effectue les opérations suivantes :
187
187
- Pour chaque opérande, il le converti en booléen. Si le résultat est `false`, arrêtez et retournez la valeur d'origine de cet opérande.
188
188
- Si tous les autres opérandes ont été évalués (c’est-à-dire tous étaient vrais), retournez le dernier opérande.
189
189
190
-
En d'autres termes, AND renvoie la première valeur `false` ou la dernière valeur si aucune n'a été trouvée.
190
+
En d'autres termes, une chaîne de AND `&&` renvoie la première valeur `false` ou la dernière valeur si aucune valeur `false` n'a été trouvée.
191
191
192
192
Les règles ci-dessus sont similaires à OR. La différence est que AND retourne la première valeur `false` tandis que OR renvoie la première valeur `true`.
0 commit comments