Skip to content

Commit ad9142e

Browse files
authored
Merge pull request #328 from javascript-tutorial/sync-eda333d4
Sync with upstream @ eda333d
2 parents 7d30c83 + 74e731e commit ad9142e

File tree

13 files changed

+117
-4
lines changed

13 files changed

+117
-4
lines changed

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,19 @@ Le navigateur a un moteur intégré, parfois il peut être également appelé "l
2626

2727
Différents moteurs ont différents "nom de code", par exemple:
2828

29+
<<<<<<< HEAD
2930
- [V8](<https://fr.wikipedia.org/wiki/V8_(moteur_JavaScript)>) -- dans Chrome et Opera.
3031
- [SpiderMonkey](https://fr.wikipedia.org/wiki/SpiderMonkey) -- dans Firefox.
3132
- … Il existe d'autres noms de code comme "Chakra" pour IE, "JavaScriptCore", "Nitro" et "SquirrelFish" pour Safari etc.
3233

3334
Les termes ci-dessus sont bons à retenir, car ils sont utilisés dans les articles destinés aux développeurs sur Internet. Nous les utiliserons aussi. Par exemple, si "une fonctionnalité X est prise en charge par V8", cela fonctionne probablement dans Chrome et Opera.
35+
=======
36+
- [V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- in Chrome, Opera and Edge.
37+
- [SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- in Firefox.
38+
- ...There are other codenames like "Chakra" for IE, "JavaScriptCore", "Nitro" and "SquirrelFish" for Safari, etc.
39+
40+
The terms above are good to remember because they are used in developer articles on the internet. We'll use them too. For instance, if "a feature X is supported by V8", then it probably works in Chrome, Opera and Edge.
41+
>>>>>>> eda333d423db8ade41f75d2e2d30ea06c7d997ef
3442
3543
```smart header="Comment fonctionnent les moteurs ?"
3644

1-js/01-getting-started/3-code-editors/article.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,13 @@ Les options suivantes méritent votre attention :
4040
- [Vim](http://www.vim.org/) et [Emacs](https://www.gnu.org/software/emacs/) sont également cool, si vous savez comment les utiliser.
4141

4242

43+
<<<<<<< HEAD
44+
=======
45+
- [Atom](https://atom.io/) (cross-platform, free).
46+
- [Sublime Text](http://www.sublimetext.com) (cross-platform, shareware).
47+
- [Notepad++](https://notepad-plus-plus.org/) (Windows, free).
48+
- [Vim](http://www.vim.org/) and [Emacs](https://www.gnu.org/software/emacs/) are also cool if you know how to use them.
49+
>>>>>>> eda333d423db8ade41f75d2e2d30ea06c7d997ef
4350
4451
## Ne discutons pas
4552

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,14 @@ Il y a de nombreux opérateurs de comparaison que nous connaissons des mathémat
77
- Le contrôle d'égalité est écrit en tant que `a == b` (veuillez noter le signe de la double équation `=`. Un seul symbole `a = b` signifierait une affectation).
88
- Pas égal. En maths, la notation est ``, en JavaScript, elle est écrite comme une assignation avec un signe d’exclamation : <code>a != b</code>.
99

10+
<<<<<<< HEAD
1011
Dans cet article, nous en apprendrons plus sur les différents types de comparaisons, sur la façon dont JavaScript les fait, y compris sur les particularités importantes.
12+
=======
13+
- Greater/less than: <code>a &gt; b</code>, <code>a &lt; b</code>.
14+
- Greater/less than or equals: <code>a &gt;= b</code>, <code>a &lt;= b</code>.
15+
- Equals: `a == b`, please note the double equality sign `==` means the equality test, while a single one `a = b` means an assignment.
16+
- Not equals: In maths the notation is <code>&ne;</code>, but in JavaScript it's written as <code>a != b</code>.
17+
>>>>>>> eda333d423db8ade41f75d2e2d30ea06c7d997ef
1118
1219
À la fin, vous trouverez une bonne recette pour éviter les problèmes liés aux "bizarreries JavaScript".
1320

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,11 @@ Cela conduit à des usages intéressants par rapport à un "OR pur, classique, b
123123

124124
Cela signifie que `||` traite ses arguments jusqu'à ce que la première valeur de vérité soit atteinte, puis la valeur est renvoyée immédiatement, sans même toucher l'autre argument.
125125

126+
<<<<<<< HEAD
126127
L'importance de cette fonctionnalité devient évidente si un opérande n'est pas seulement une valeur, mais une expression avec un effet secondaire, comme une affectation de variable ou un appel de fonction.
128+
=======
129+
The importance of this feature becomes obvious if an operand isn't just a value, but an expression with a side effect, such as a variable assignment or a function call.
130+
>>>>>>> eda333d423db8ade41f75d2e2d30ea06c7d997ef
127131
128132
Dans l'exemple ci-dessous, seul le deuxième message est imprimé :
129133

1-js/03-code-quality/02-coding-style/article.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,11 +307,19 @@ Ce qui est génial avec eux, c'est que la vérification du style trouve égaleme
307307
308308
Voici quelques linters bien connus :
309309
310+
<<<<<<< HEAD
310311
- [JSLint](http://www.jslint.com/) -- l'un des premiers linters.
311312
- [JSHint](http://www.jshint.com/) -- plus de paramètres que JSLint.
312313
- [ESLint](http://eslint.org/) -- probablement le plus récent.
313314
314315
Tous peuvent faire le travail. L'auteur utilise [ESLint](http://eslint.org/).
316+
=======
317+
- [JSLint](https://www.jslint.com/) -- one of the first linters.
318+
- [JSHint](https://jshint.com/) -- more settings than JSLint.
319+
- [ESLint](https://eslint.org/) -- probably the newest one.
320+
321+
All of them can do the job. The author uses [ESLint](https://eslint.org/).
322+
>>>>>>> eda333d423db8ade41f75d2e2d30ea06c7d997ef
315323
316324
La plupart des linters sont intégrés aux éditeurs: il suffit d'activer le plug-in dans l'éditeur et de configurer le style.
317325
@@ -345,7 +353,11 @@ Il est aussi possible de télécharger des ensembles de règles de style à part
345353
346354
L'utilisation d'un linter a un effet secondaire formidable: les linters prennent les fautes de frappe. Par exemple, quand on accède à une variable non définie, un linter la détecte et (s'il est intégrée à un éditeur) la met en évidence. Dans la plupart des cas, il s’agit d’un mauvais type. Nous pouvons donc régler le problème tout de suite.
347355
356+
<<<<<<< HEAD
348357
Pour cette raison, même si vous n’êtes pas préoccupé par les styles, il est vivement recommandé d’utiliser un linter.
358+
=======
359+
It is also possible to download style rule sets from the web and extend them instead. See <https://eslint.org/docs/user-guide/getting-started> for more details about installation.
360+
>>>>>>> eda333d423db8ade41f75d2e2d30ea06c7d997ef
349361
350362
De plus, certains IDE prennent en charge le linting nativement, ce qui peut également être bien, mais pas aussi ajustables que ESLint.
351363

1-js/04-object-basics/02-object-copy/article.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ alert( user.name ); // c'est toujour john dans l'objet copié
135135
136136
On peut aussi utiliser la méthode [Object.assign](mdn:js/Object/assign) pour cela.
137137
138+
138139
La syntaxe est :
139140
140141
```js

1-js/05-data-types/01-primitives-methods/article.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,11 @@ La solution semble peu commode, mais la voici:
4848
2. Le langage permet d'accéder aux méthodes et aux propriétés des chaînes de caractères, des nombres, des booléens et des symboles.
4949
3. Pour que cela fonctionne, un "wrapper d'objet" (conteneur) spécial est crée pour fournir la fonctionnalité supplémentaire, puis il est détruit.
5050

51+
<<<<<<< HEAD
5152
Les "wrapper d'objets" (conteneurs) sont différents pour chaque type de primitive et sont appelés: `String`, `Number`, `Boolean` et `Symbol`. Ainsi, ils fournissent différents ensembles de méthodes.
53+
=======
54+
The "object wrappers" are different for each primitive type and are called: `String`, `Number`, `Boolean`, `Symbol` and `BigInt`. Thus, they provide different sets of methods.
55+
>>>>>>> eda333d423db8ade41f75d2e2d30ea06c7d997ef
5256
5357
Par exemple, il existe une méthode de string [str.toUpperCase()](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase) qui renvoie une chaîne de caractères `str` en majuscule.
5458

1-js/06-advanced-functions/01-recursion/05-output-single-linked-list-reverse/solution.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,11 @@ printReverseList(list);
3333

3434
# En utilisant une boucle
3535

36+
<<<<<<< HEAD
3637
La variante de boucle est aussi un peu plus compliquée que la sortie directe.
38+
=======
39+
The loop variant is also a little bit more complicated than the direct output.
40+
>>>>>>> eda333d423db8ade41f75d2e2d30ea06c7d997ef
3741
3842
Il n'y a aucun moyen d'obtenir la dernière valeur de notre `list`. Nous ne pouvons pas non plus "revenir en arrière".
3943

1-js/11-async/03-promise-chaining/article.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,29 @@ new Promise(function(resolve, reject) {
3434

3535
L'idée est que le résultat est transmis à travers la chaîne de gestionnaires `.then`.
3636

37+
<<<<<<< HEAD
3738
Ici, le flux est:
3839
1. La promesse initiale est résolue en 1 seconde `(*)`,
3940
2. Ensuite, le gestionnaire `.then` est appelé `(**)`.
4041
3. La valeur qu'elle renvoie est transmise au prochain gestionnaire `.then` `(***)`
4142
4. ...et ainsi de suite.
43+
=======
44+
Here the flow is:
45+
1. The initial promise resolves in 1 second `(*)`,
46+
2. Then the `.then` handler is called `(**)`, which in turn creates a new promise (resolved with `2` value).
47+
3. The next `then` `(***)` gets the result of the previous one, processes it (doubles) and passes the next handler.
48+
4. ...and so on.
49+
>>>>>>> eda333d423db8ade41f75d2e2d30ea06c7d997ef
4250
4351
Lorsque le résultat est transmis le long de la chaîne de gestionnaires, nous pouvons voir une séquence d'appels `alert`: `1` -> `2` -> `4`.
4452

4553
![](promise-then-chain.svg)
4654

55+
<<<<<<< HEAD
4756
Le tout fonctionne, car un appel à `promise.then` renvoie une promesse, de sorte que nous puissions appeler le prochain` .then` dessus.
57+
=======
58+
The whole thing works, because every call to a `.then` returns a new promise, so that we can call the next `.then` on it.
59+
>>>>>>> eda333d423db8ade41f75d2e2d30ea06c7d997ef
4860
4961
Lorsqu'un gestionnaire renvoie une valeur, cela devient le résultat de cette promesse. Le prochain `.then` est appelé avec.
5062

2-ui/1-document/01-browser-environment/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Il existe un objet "racine" appelé `window`. Il a 2 rôles :
1717

1818
Par exemple, nous l'utilisons ici comme un objet global :
1919

20-
```js run
20+
```js run global
2121
function sayHi() {
2222
alert("Hello");
2323
}

0 commit comments

Comments
 (0)