Skip to content

Commit 8f46d7e

Browse files
committed
merging all conflicts
2 parents 8d19a0a + e01998b commit 8f46d7e

File tree

17 files changed

+291
-65
lines changed

17 files changed

+291
-65
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,11 @@ if (hour < 10 || hour > 18 || isWeekend) {
6464
}
6565
```
6666

67+
<<<<<<< HEAD
6768
### OR "||" cherche la première valeur vraie
69+
=======
70+
## OR "||" finds the first truthy value [#or-finds-the-first-truthy-value]
71+
>>>>>>> e01998baf8f85d9d6cef9f1add6c81b901f16d69
6872
6973
La logique décrite ci-dessus est quelque peu classique. Maintenant, apportons les fonctionnalités "supplémentaires" de JavaScript.
7074

1-js/02-first-steps/13-while-for/article.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,11 @@ alert('Done!');
319319

320320
Nous avons besoin d'un moyen d'arrêter le processus si l'utilisateur annule la saisie.
321321

322+
<<<<<<< HEAD
322323
Le `break` ordinaire après `input` ne ferait que briser la boucle intérieure. Ce n’est pas suffisant. Les *labels* viennent à la rescousse.
324+
=======
325+
The ordinary `break` after `input` would only break the inner loop. That's not sufficient -- labels, come to the rescue!
326+
>>>>>>> e01998baf8f85d9d6cef9f1add6c81b901f16d69
323327
324328
Une *label* est un identifiant avec deux points avant une boucle :
325329
```js
@@ -366,12 +370,22 @@ Les labels ne nous permettent pas de sauter dans un endroit arbitraire du code.
366370
367371
Par exemple, il est impossible de faire ceci :
368372
```js
373+
<<<<<<< HEAD
369374
break label; // ne saute pas au label ci-dessous
375+
=======
376+
break label; // jump to the label below (doesn't work)
377+
>>>>>>> e01998baf8f85d9d6cef9f1add6c81b901f16d69
370378
371379
label: for (...)
372380
```
373381
382+
<<<<<<< HEAD
374383
L'appel d'un `break/continue` n'est possible qu'à partir de l'intérieur de la boucle et le libellé doit se situer quelque part au dessus de la directive.
384+
=======
385+
A call to `continue` is only possible from inside the loop.
386+
387+
The `break` directive may be placed before code blocks too, as `label: { ... }`, but it's almost never used like that. And it also works only inside-out.
388+
>>>>>>> e01998baf8f85d9d6cef9f1add6c81b901f16d69
375389
````
376390

377391
## Résumé

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,11 @@ alert( a == b ); // false
100100
101101
Pour des comparaisons comme `obj1 > obj2` ou des comparaisons avec une primitive `obj == 5`, les objets sont convertis en primitive. Nous étudierons comment les conversions d'objets fonctionnent très bientôt, mais pour dire la vérité, de telles comparaisons sont rarement nécessaires, en général elles sont le résultat d'une erreur de programmation.
102102
103+
<<<<<<< HEAD
103104
## Clonage et fusionage, Object.assign
105+
=======
106+
## Cloning and merging, Object.assign [#cloning-and-merging-object-assign]
107+
>>>>>>> e01998baf8f85d9d6cef9f1add6c81b901f16d69
104108
105109
Copier une variable object créé une référence en plus vers le même objet.
106110
@@ -187,7 +191,11 @@ let clone = Object.assign({}, user);
187191
188192
Cela copie toutes les propriétés de `user` dans l'objet vide et le retourne.
189193
194+
<<<<<<< HEAD
190195
Il existe également d'autres méthodes de clonage d'un objet, par ex. en utilisant la [syntaxe spread](info:rest-parameters-spread) `clone = {...user}`, abordé plus loin dans le tutoriel.
196+
=======
197+
There are also other methods of cloning an object, e.g. using the [spread syntax](info:rest-parameters-spread) `clone = {...user}`, covered later in the tutorial.
198+
>>>>>>> e01998baf8f85d9d6cef9f1add6c81b901f16d69
191199
192200
## Clonage imbriqué
193201

1-js/05-data-types/02-number/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ Il y a deux façons de le faire:
161161
```js run
162162
let num = 1.23456;
163163
164-
alert( Math.floor(num * 100) / 100 ); // 1.23456 -> 123.456 -> 123 -> 1.23
164+
alert( Math.round(num * 100) / 100 ); // 1.23456 -> 123.456 -> 123 -> 1.23
165165
```
166166
167167
2. La méthode [toFixed(n)](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Number/toFixed) arrondit le nombre à `n` chiffres après le point et renvoie unechaîne de caractères du résultat.

1-js/05-data-types/03-string/article.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -535,7 +535,11 @@ Les caractères sont comparés par leur code numérique. Le plus grand code sign
535535
- Certaines lettres comme `Ö` se distinguent de l'alphabet principal. Ici, le code est supérieur à tout ce qui va de `a` à `z`.
536536

537537

538+
<<<<<<< HEAD
538539
### Les comparaisons correctes
540+
=======
541+
### Correct comparisons [#correct-comparisons]
542+
>>>>>>> e01998baf8f85d9d6cef9f1add6c81b901f16d69
539543

540544
L'algorithme "approprié" pour effectuer des comparaisons de chaînes est plus complexe qu'il n'y paraît, car les alphabets diffèrent d'une langue à l'autre.
541545

1-js/06-advanced-functions/06-function-object/article.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,11 @@ welcome(); // Hello, Guest (l'appel imbriqué fonctionne)
326326

327327
Maintenant cela fonctionne, car le nom `'func'` est local à la fonction. Il n'est pas pris de l'extérieur (et non visible là-bas). La spécification garantit qu'elle fera toujours référence à la fonction actuelle.
328328

329+
<<<<<<< HEAD
329330
Le code externe a toujours sa variable `sayHi` ou `welcome`. Et `func` est un "nom de fonction interne", c'est comment la fonction peut s'appeler en interne.
331+
=======
332+
The outer code still has its variable `sayHi` or `welcome`. And `func` is an "internal function name", how the function can call itself internally.
333+
>>>>>>> e01998baf8f85d9d6cef9f1add6c81b901f16d69
330334
331335
```smart header="Il n'y a rien de tel pour la déclaration de fonction"
332336
La fonctionnalité "nom interne" décrite ici n'est disponible que pour les expressions de fonction, pas pour les déclarations de fonction. Pour les déclarations de fonctions, il n’y a aucune possibilité de syntaxe d’ajouter un nom "interne" supplémentaire.

1-js/09-classes/03-static-properties-methods/article.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,11 @@ C’est la même chose qu’une assignation directe à `Article`:
125125
Article.publisher = "Ilya Kantor";
126126
```
127127

128+
<<<<<<< HEAD
128129
## Héritage de méthodes et de propriétés statiques
130+
=======
131+
## Inheritance of static properties and methods [#statics-and-inheritance]
132+
>>>>>>> e01998baf8f85d9d6cef9f1add6c81b901f16d69
129133
130134
Les propriétés et méthodes statiques sont héritées.
131135

1-js/10-error-handling/1-try-catch/1-finally-or-code-after/solution.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
La différence devient évidente quand on regarde le code dans une fonction.
22

3+
<<<<<<< HEAD
34
Le comportement est différent s'il y a un "saut" en dehors de `try..catch`.
45

56
Par exemple, quand il y a un `return` dans `try..catch`. La clause `finally` fonctionne en cas de *toute* sortie de` try..catch`, même via l'instruction `return`: juste après la fin de `try..catch`, mais avant que le code appelant obtienne le contrôle.
7+
=======
8+
The behavior is different if there's a "jump out" of `try...catch`.
9+
10+
For instance, when there's a `return` inside `try...catch`. The `finally` clause works in case of *any* exit from `try...catch`, even via the `return` statement: right after `try...catch` is done, but before the calling code gets the control.
11+
>>>>>>> e01998baf8f85d9d6cef9f1add6c81b901f16d69
612
713
```js run
814
function f() {
@@ -11,7 +17,7 @@ function f() {
1117
*!*
1218
return "result";
1319
*/!*
14-
} catch (e) {
20+
} catch (err) {
1521
/// ...
1622
} finally {
1723
alert('cleanup!');
@@ -28,11 +34,11 @@ function f() {
2834
try {
2935
alert('start');
3036
throw new Error("an error");
31-
} catch (e) {
37+
} catch (err) {
3238
// ...
3339
if("can't handle the error") {
3440
*!*
35-
throw e;
41+
throw err;
3642
*/!*
3743
}
3844

1-js/10-error-handling/1-try-catch/1-finally-or-code-after/task.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,33 @@ importance: 5
66

77
Comparez les deux fragments de code.
88

9+
<<<<<<< HEAD
910
1. Le premier utilise `finally` pour exécuter le code après `try..catch`:
11+
=======
12+
1. The first one uses `finally` to execute the code after `try...catch`:
13+
>>>>>>> e01998baf8f85d9d6cef9f1add6c81b901f16d69
1014
1115
```js
1216
try {
1317
work work
14-
} catch (e) {
18+
} catch (err) {
1519
handle errors
1620
} finally {
1721
*!*
1822
cleanup the working space
1923
*/!*
2024
}
2125
```
26+
<<<<<<< HEAD
2227
2. Le deuxième fragment met le "cleanup" juste après `try..catch`:
28+
=======
29+
2. The second fragment puts the cleaning right after `try...catch`:
30+
>>>>>>> e01998baf8f85d9d6cef9f1add6c81b901f16d69
2331
2432
```js
2533
try {
2634
work work
27-
} catch (e) {
35+
} catch (err) {
2836
handle errors
2937
}
3038

0 commit comments

Comments
 (0)