Skip to content

Commit 05b1776

Browse files
authored
Merge pull request #299 from javascript-tutorial/sync-7b761858
Sync with upstream @ 7b76185
2 parents fb41659 + 9f88dd9 commit 05b1776

File tree

20 files changed

+208
-60
lines changed

20 files changed

+208
-60
lines changed

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,17 +56,34 @@ alert( 8 % 3 ); // 2, le reste de 8 divisé par 3
5656
5757
### Exponentiation **
5858
59+
<<<<<<< HEAD
5960
L'opérateur d'exponentiation `a ** b` multiplie `a` par lui-même `b` fois.
61+
=======
62+
The exponentiation operator `a ** b` raises `a` to the power of `b`.
63+
64+
In school maths, we write that as a<sup>b</sup>.
65+
>>>>>>> 7b76185892aa9798c3f058256aed44a9fb413cc3
6066
6167
Par exemple:
6268
6369
```js run
70+
<<<<<<< HEAD
6471
alert( 2 ** 2 ); // 4 (2 multiplié par lui-même 2 fois)
6572
alert( 2 ** 3 ); // 8 (2 * 2 * 2, 3 fois)
6673
alert( 2 ** 4 ); // 16 (2 * 2 * 2 * 2, 4 fois)
6774
```
6875
6976
Mathématiquement, l'exponentiation est également définie pour les nombres non entiers. Par exemple, une racine carrée est une exponentiation de `1/2`:
77+
=======
78+
alert( 2 ** 2 ); // 2² = 4
79+
alert( 2 ** 3 ); // 2³ = 8
80+
alert( 2 ** 4 ); // 2⁴ = 16
81+
```
82+
83+
Just like in maths, the exponentiation operator is defined for non-integer numbers as well.
84+
85+
For example, a square root is an exponentiation by ½:
86+
>>>>>>> 7b76185892aa9798c3f058256aed44a9fb413cc3
7087
7188
```js run
7289
alert( 4 ** (1/2) ); // 2 (la puissance de 1/2 équivaut à une racine carrée)

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,9 +371,24 @@ break label; // saute au label ci-dessous (ne fonctionne pas)
371371
label: for (...)
372372
```
373373
374+
<<<<<<< HEAD
374375
L'appel d'un `continue` n'est possible qu'à partir de l'intérieur de la boucle
375376
376377
La directive `break` peut aussi être placée avant les blocs de code, comme` label: {...} `, mais elle n'est presque jamais utilisée comme ça. Et cela ne fonctionne qu’à l'envers.
378+
=======
379+
A `break` directive must be inside a code block. Technically, any labelled code block will do, e.g.:
380+
```js
381+
label: {
382+
// ...
383+
break label; // works
384+
// ...
385+
}
386+
```
387+
388+
...Although, 99.9% of the time `break` used is inside loops, as we've seen in the examples above.
389+
390+
A `continue` is only possible from inside a loop.
391+
>>>>>>> 7b76185892aa9798c3f058256aed44a9fb413cc3
377392
````
378393

379394
## Résumé

1-js/02-first-steps/15-function-basics/2-rewrite-function-question-or/solution.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,8 @@ function checkAge(age) {
1414
}
1515
```
1616

17+
<<<<<<< HEAD
1718
Notez que les parenthèses autour de `age > 18` ans ne sont pas obligatoires ici. Ils existent pour une meilleure lisibilité.
19+
=======
20+
Note that the parentheses around `age > 18` are not required here. They exist for better readability.
21+
>>>>>>> 7b76185892aa9798c3f058256aed44a9fb413cc3

1-js/02-first-steps/17-arrow-functions-basics/1-rewrite-arrow/solution.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
```js run
33
function ask(question, yes, no) {
4-
if (confirm(question)) yes()
4+
if (confirm(question)) yes();
55
else no();
66
}
77

1-js/02-first-steps/17-arrow-functions-basics/1-rewrite-arrow/task.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Remplacez les expressions de fonction par des fonctions fléchées dans le code
55

66
```js run
77
function ask(question, yes, no) {
8-
if (confirm(question)) yes()
8+
if (confirm(question)) yes();
99
else no();
1010
}
1111

1-js/05-data-types/08-weakmap-weakset/01-recipients-read/solution.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,11 @@ messages.shift();
2525
// maintenant readMessages a 1 élément (techniquement, la mémoire peut être nettoyée plus tard)
2626
```
2727

28+
<<<<<<< HEAD
2829
Le `WeakSet` permet de stocker un ensemble de messages et de vérifier facilement l’existence d’un message.
30+
=======
31+
The `WeakSet` allows to store a set of messages and easily check for the existence of a message in it.
32+
>>>>>>> 7b76185892aa9798c3f058256aed44a9fb413cc3
2933
3034
Il se nettoie automatiquement. Le compromis est que nous ne pouvons pas le parcourir, nous ne pouvons pas obtenir "tous les messages lus" directement. Mais nous pouvons le faire en parcourant tous les messages et en filtrant ceux qui sont dans le set.
3135

1-js/05-data-types/11-date/article.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,11 @@ let time1 = 0;
353353
let time2 = 0;
354354

355355
*!*
356+
<<<<<<< HEAD
356357
// lance le test(upperSlice) et le test(upperLoop) toutes les 10 fois en alternance
358+
=======
359+
// run bench(diffSubtract) and bench(diffGetTime) each 10 times alternating
360+
>>>>>>> 7b76185892aa9798c3f058256aed44a9fb413cc3
357361
for (let i = 0; i < 10; i++) {
358362
time1 += bench(diffSubtract);
359363
time2 += bench(diffGetTime);

1-js/06-advanced-functions/03-closure/10-make-army/solution.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,19 @@ Examinons exactement ce qui se fait à l'intérieur de `makeArmy`, et la solutio
8888
8989
Ici, `let j = i` déclare une variable "itération-locale" `j` et y copie `i`. Les primitives sont copiées "par valeur", donc nous obtenons en fait une copie indépendante de `i`, appartenant à l'itération de boucle courante.
9090

91+
<<<<<<< HEAD
9192
Les shooters fonctionnent correctement, car la valeur de `i` vit maintenant un peu plus près. Pas dans l'environnement lexical `makeArmy()`, mais dans l'environnement lexical qui correspond à l'itération de la boucle actuelle :
9293
9394
![](lexenv-makearmy-while-fixed.svg)
9495
9596
Un tel problème pourrait également être évité si nous utilisions `for` au début, comme ceci :
97+
=======
98+
The shooters work correctly, because the value of `i` now lives a little bit closer. Not in `makeArmy()` Lexical Environment, but in the Lexical Environment that corresponds to the current loop iteration:
99+
100+
![](lexenv-makearmy-while-fixed.svg)
101+
102+
Such a problem could also be avoided if we used `for` in the beginning, like this:
103+
>>>>>>> 7b76185892aa9798c3f058256aed44a9fb413cc3
96104
97105
```js run demo
98106
function makeArmy() {

1-js/06-advanced-functions/03-closure/7-let-scope/solution.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,15 @@ Le code ci-dessus le démontre.
2626
```js
2727
function func() {
2828
*!*
29+
<<<<<<< HEAD
2930
// la variable locale x est connue du moteur depuis le début de la fonction,
3031
// mais "non initialisée" (inutilisable) jusqu'à let ("zone morte")
3132
// d'où l'erreur
33+
=======
34+
// the local variable x is known to the engine from the beginning of the function,
35+
// but "uninitialized" (unusable) until let ("dead zone")
36+
// hence the error
37+
>>>>>>> 7b76185892aa9798c3f058256aed44a9fb413cc3
3238
*/!*
3339

3440
console.log(x); // ReferenceError: Cannot access 'x' before initialization

1-js/06-advanced-functions/03-closure/article.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,11 @@ Bien que simples, des variantes légèrement modifiées de ce code ont des utili
146146

147147
Comment cela marche-t-il ? Si nous créons plusieurs compteurs, seront-ils indépendants ? Que se passe-t-il avec les variables ici ?
148148

149+
<<<<<<< HEAD
149150
La compréhension de ce genre de choses est excellente pour la connaissance globale de JavaScript et bénéfique pour les scénarios plus complexes. Allons donc un peu en profondeur.
151+
=======
152+
Understanding such things is great for the overall knowledge of JavaScript and beneficial for more complex scenarios. So let's go a bit in-depth.
153+
>>>>>>> 7b76185892aa9798c3f058256aed44a9fb413cc3
150154
151155
## Lexical Environment
152156

0 commit comments

Comments
 (0)