Skip to content

Commit cf97412

Browse files
authored
Merge branch 'master' into patch-1-js-05-data-types
2 parents 5a7bed8 + 9198767 commit cf97412

File tree

59 files changed

+527
-547
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+527
-547
lines changed

1-js/01-getting-started/1-intro/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ Les exemples de telles restrictions sont:
7979

8080
- 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é.
8181

82-
![](limitations.svg)
82+
![Schéma des limitations du JavaScript dans un navigateur](limitations.svg)
8383

8484
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.
8585

1-js/02-first-steps/08-operators/article.md

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Dans ce chapitre, nous nous concentrons sur les aspects qui ne sont pas couverts
88

99
Avant de continuer, saisissons la terminologie commune.
1010

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".
1212
- Un opérateur est unaire s'il a un seul opérande. Par exemple, la négation unaire `-` inverse le signe du nombre :
1313

1414
```js run
@@ -47,19 +47,20 @@ L'opérateur reste `%`, malgré son apparence, n'est pas lié aux pourcentages.
4747
4848
Le résultat de `a % b` est le [reste](https://fr.wikipedia.org/wiki/Reste) de la division entière de `a` par `b`.
4949
50-
Par exemple:
50+
Par exemple :
5151
5252
```js run
5353
alert( 5 % 2 ); // 1, le reste de 5 divisé par 2
5454
alert( 8 % 3 ); // 2, le reste de 8 divisé par 3
55+
alert( 8 % 2 ); // 0, le reste de 8 divisé par 2
5556
```
5657
5758
### Exponentiation **
5859
5960
L'opérateur d'exponentiation `a ** b` multiplie `a` par lui-même `b` fois.
6061
En mathématiques à l'école, nous écrivons cela a<sup>b</sup>.
6162

62-
Par exemple:
63+
Par exemple :
6364

6465
```js run
6566
alert( 2 ** 2 ); // 2² = 4
@@ -118,7 +119,7 @@ Ici, le premier opérande est une chaîne de caractères, le compilateur traite
118119

119120
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.
120121

121-
Voici l'exemple pour la soustraction et la division:
122+
Voici l'exemple pour la soustraction et la division :
122123
```js run
123124
alert( 6 - '2' ); // 4, convertit '2' en nombre
124125
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
185186

186187
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.
187188

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`.
189190
190191
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.
191192
@@ -227,7 +228,7 @@ Tous les opérateurs en JavaScript renvoient une valeur. C'est évident pour `+`
227228
228229
L'appel `x = valeur` écrit la` valeur` dans `x` *puis la renvoie*.
229230

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 :
231232
232233
```js run
233234
let a = 1;
@@ -263,9 +264,9 @@ alert( b ); // 4
263264
alert( c ); // 4
264265
```
265266
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.
267268
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 :
269270
270271
```js
271272
c = 2 + 2;
@@ -296,14 +297,14 @@ n *= 2; // maintenant n = 14 (identique à n = n * 2)
296297
alert( n ); // 14
297298
```
298299

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.
300301

301302
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 :
302303

303304
```js run
304305
let n = 2;
305306
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)
307308
308309
alert( n ); // 16
309310
```
@@ -320,14 +321,14 @@ Il y a donc des opérateurs spéciaux pour cela :
320321
321322
```js run no-beautify
322323
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
324325
alert( counter ); // 3
325326
```
326327
- **Décrémentation** `--` diminue une variable de 1 :
327328

328329
```js run no-beautify
329330
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
331332
alert( counter ); // 1
332333
```
333334

@@ -338,7 +339,7 @@ L'incrémentation / décrémentation ne peut être appliquée qu'à une variable
338339
Les opérateurs `++` et `--` peuvent être placés à la fois après et avant la variable.
339340

340341
- 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`.
342343
343344
Ces deux operateurs font la même chose : augmenter le `counter` de `1`.
344345

1-js/02-first-steps/09-comparison/article.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ Par exemple :
4545
alert( 'Z' > 'A' ); // true
4646
alert( 'Glow' > 'Glee' ); // true
4747
alert( 'Bee' > 'Be' ); // true
48+
alert( '9' > '10' ); // true
4849
```
4950

5051
L'algorithme pour comparer deux chaînes de caractères est simple :
@@ -161,8 +162,8 @@ Pour un contrôle d'égalité non strict `==`
161162
alert( null == undefined ); // true
162163
```
163164

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`.
166167

167168
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.
168169

@@ -178,7 +179,7 @@ alert( null >= 0 ); // (3) *!*true*/!*
178179

179180
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.
180181

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.
182183

183184
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.
184185

@@ -187,8 +188,8 @@ D’un autre côté, la vérification de l’égalité `==` pour `undefined` et
187188
La valeur `undefined` ne doit pas du tout participer aux comparaisons :
188189

189190
```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)
192193
alert( undefined == 0 ); // false (3)
193194
```
194195

@@ -203,14 +204,14 @@ Nous avons ces résultats parce que :
203204

204205
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.
205206

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.
207208

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.
209210

210211
## Résumé
211212

212213
- Les opérateurs de comparaison renvoient une valeur logique.
213214
- Les chaînes de caractères sont comparées lettre par lettre dans l'ordre "dictionnaire".
214215
- 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.

1-js/02-first-steps/10-ifelse/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ if (year == 2015) {
2929
}
3030
```
3131

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é.
3333

3434
## Conversion booléenne
3535

1-js/02-first-steps/11-logical-operators/article.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ En JavaScript, l'opérateur est un peu plus compliqué et puissant. Mais voyons
2121
Il existe quatre combinaisons logiques possibles :
2222

2323
```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
2727
alert( false || false ); // false
2828
```
2929

@@ -53,7 +53,7 @@ if (hour < 10 || hour > 18) {
5353
}
5454
```
5555

56-
Nous pouvons passer plus de conditions :
56+
Nous pouvons passer plus de conditions :
5757

5858
```js run
5959
let hour = 12;
@@ -84,7 +84,7 @@ L'opérateur OR `||` fait ce qui suit :
8484

8585
Une valeur est renvoyée sous sa forme d'origine, sans conversion.
8686

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.
8888

8989
Par exemple :
9090

@@ -115,7 +115,7 @@ Cela conduit à des usages intéressants par rapport à un "OR pur, classique, b
115115
*/!*
116116
```
117117

118-
If all variables were falsy, `"Anonymous"` would show up.
118+
Si toutes les variables étaient fausses, ce serait `"Anonymous"` qui apparaîtrait.
119119

120120
2. **Évaluation des courts-circuits.**
121121

@@ -147,9 +147,9 @@ result = a && b;
147147
En programmation classique, AND retourne `true` si les deux opérandes sont `true` et `false` dans les autres cas :
148148
149149
```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
153153
alert( false && false ); // false
154154
```
155155
@@ -187,7 +187,7 @@ L'opérateur AND `&&` effectue les opérations suivantes :
187187
- 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.
188188
- Si tous les autres opérandes ont été évalués (c’est-à-dire tous étaient vrais), retournez le dernier opérande.
189189

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.
191191

192192
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`.
193193

0 commit comments

Comments
 (0)