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/02-first-steps/08-operators/article.md
+1-5Lines changed: 1 addition & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -205,11 +205,7 @@ Un extrait du [tableau de précédence](https://developer.mozilla.org/en-US/docs
205
205
| 2 | affectation |`=`|
206
206
| ... | ... | ... |
207
207
208
-
<<<<<<< HEAD
209
-
Comme on peut le voir, le "plus unaire" a une priorité de `15`, ce qui est supérieur à `12` pour "l'addition" (plus binaire). C’est pourquoi, dans l’expression `"+apples + +oranges"`, les plus unaires fonctionnent en premier, puis l’addition.
210
-
=======
211
-
As we can see, the "unary plus" has a priority of `15` which is higher than the `12` of "addition" (binary plus). That's why, in the expression `"+apples + +oranges"`, unary pluses work before the addition.
212
-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
208
+
Comme on peut le voir, le "plus unaire" a une priorité de `15`, ce qui est supérieur à `12` pour "l'addition" (plus binaire). C’est pourquoi, dans l’expression `"+apples + +oranges"`, les plus unaires fonctionnent avant l’addition.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/17-arrow-functions-basics/article.md
+5-22Lines changed: 5 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,11 +48,7 @@ Comme vous pouvez le voir `(a, b) => a + b` représente une fonction qui accepte
48
48
alert( double(3) ); // 6
49
49
```
50
50
51
-
<<<<<<<HEAD
52
-
- Sans arguments, les parenthèses seront alors vides (mais elles doivent êtres présentes) :
53
-
=======
54
-
- If there are no arguments, parentheses are empty, but they must be present:
55
-
>>>>>>>45934debd9bb31376ea5da129e266df5b43e545f
51
+
-S’il n’y a pas d’arguments, les parenthèses seront alors vides, mais elles doivent êtres présentes :
56
52
57
53
```js run
58
54
let sayHi = () => alert("Hello!");
@@ -80,15 +76,9 @@ Elles sont très utile pour des actions sur une ligne et que l'on est juste pare
80
76
81
77
## Les fonctions fléchées multiligne
82
78
83
-
<<<<<<<HEAD
84
-
L'exemple ci-dessous prend les arguments sur la gauche de `=>` et évalue le coté droit avec ces arguments.
79
+
Les fonctions fléchées que nous avons vues jusqu'à présent étaient très simples. Elles ont pris des arguments à gauche de `=>`, les ont évalués et ont renvoyé l'expression de droite avec eux.
85
80
86
81
Parfois nous avons besoin de plus de compléxité, comme des expressions multiples ou des déclarations. Cela est possible avec des accolades les délimitant. Il faut ensuite utiliser un `return` à l'intérieur de celles-ci.
87
-
=======
88
-
The arrow functions that we've seen so far were very simple. They took arguments from the left of `=>`, evaluated and returned the right-side expression with them.
89
-
90
-
Sometimes we need a more complex function, with multiple expressions and statements. In that case, we can enclose them in curly braces. The major difference is that curly braces require a `return` within them to return a value (just like a regular function does).
91
-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
92
82
93
83
Comme cela :
94
84
@@ -115,14 +105,7 @@ Pour l'instant, nous pouvons les utiliser pour des actions sur une ligne ou des
115
105
116
106
## Résumé
117
107
118
-
<<<<<<< HEAD
119
-
Les fonctions fléchées sont pratiques pour les déclarations sur une ligne. Elles ont deux syntaxes :
120
-
121
-
1. Sans accolades : `(...args) => expression` -- le coté droit est une expression : la fonction l'évalue et retourne le résultat.
122
-
2. Avec accolades : `(...args) => { body }` -- les accolades nous permet des déclarations multiples au sein de la fonction, mais nous devons ajouter un `return` pour retourner quelque chose.
123
-
=======
124
-
Arrow functions are handy for simple actions, especially for one-liners. They come in two flavors:
108
+
Les fonctions fléchées sont pratiques pour des actions simples, en particulier pour les one-liners. Ils se déclinent en deux variantes :
125
109
126
-
1. Without curly braces: `(...args) => expression` -- the right side is an expression: the function evaluates it and returns the result. Parentheses can be omitted, if there's only a single argument, e.g. `n => n*2`.
127
-
2. With curly braces: `(...args) => { body }` -- brackets allow us to write multiple statements inside the function, but we need an explicit `return` to return something.
128
-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
110
+
1. Sans accolades : `(...args) => expression` -- le coté droit est une expression : la fonction l'évalue et retourne le résultat. Les parenthèses peuvent être omises s'il n'y a qu'un seul argument, par ex. `n => n*2`.
111
+
2. Avec accolades : `(...args) => { body }` -- les accolades nous permet des déclarations multiples au sein de la fonction, mais nous devons ajouter un `return` explicite pour retourner quelque chose.
Copy file name to clipboardExpand all lines: 1-js/03-code-quality/01-debugging-chrome/article.md
+8-47Lines changed: 8 additions & 47 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,11 +38,7 @@ Si nous appuyons sur `key:Esc`, une console s'ouvre ci-dessous. Nous pouvons tap
38
38
39
39
Une fois une instruction exécutée, son résultat est présenté ci-dessous.
40
40
41
-
<<<<<<< HEAD
42
-
Par exemple, ici `1+2` donne `3`, et `hello("débogueur")` ne renvoie rien, le résultat est donc `undefined` :
43
-
=======
44
-
For example, here `1+2` results in `3`, while the function call `hello("debugger")` returns nothing, so the result is `undefined`:
45
-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
41
+
Par exemple, ici `1+2` donne `3`, tandis que l'appel de fonction `hello("debugger")` ne renvoie rien, donc le résultat est `undefined` :
46
42
47
43

48
44
@@ -66,22 +62,13 @@ Nous pouvons toujours trouver une liste de points d'arrêt dans le volet de droi
66
62
- Supprimer le point d'arrêt en cliquant avec le bouton droit de la souris et en sélectionnant Supprimer.
67
63
- … Et ainsi de suite
68
64
69
-
<<<<<<< HEAD
70
65
```smart header="Points d'arrêt conditionnels"
71
-
Un *clic droit* sur le numéro de ligne permet de créer un point d'arrêt conditionnel. Cela ne se déclenche que lorsque l'expression donnée est vraie.
72
-
=======
73
-
```smart header="Conditional breakpoints"
74
-
*Right click* on the line number allows to create a *conditional* breakpoint. It only triggers when the given expression, that you should provide when you create it, is truthy.
75
-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
66
+
*Clic droit* sur le numéro de ligne permet de créer un point d'arrêt *conditionnel*. Il ne se déclenche que lorsque l'expression donnée, que vous devez fournir lors de sa création, est vraie.
76
67
77
68
C’est pratique lorsque nous devons nous arrêter uniquement pour une certaine valeur de variable ou pour certains paramètres de fonction.
78
69
```
79
70
80
-
<<<<<<< HEAD
81
-
## Commande du débogueur
82
-
=======
83
-
## The command "debugger"
84
-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
71
+
## La commande "debugger"
85
72
86
73
Nous pouvons également suspendre le code en utilisant la commande `debugger`, comme ceci :
87
74
@@ -97,12 +84,8 @@ function hello(name) {
97
84
}
98
85
```
99
86
100
-
<<<<<<< HEAD
101
-
C’est très pratique lorsque vous utilisez un éditeur de code et que vous ne souhaitez pas passer au navigateur et rechercher le script dans les outils de développement pour définir le point d’arrêt.
87
+
Une telle commande ne fonctionne que lorsque les outils de développement sont ouverts, sinon le navigateur l'ignore.
102
88
103
-
=======
104
-
Such command works only when the development tools are open, otherwise the browser ignores it.
105
-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
106
89
107
90
## Pause et regarder autour
108
91
@@ -116,11 +99,7 @@ Veuillez ouvrir les menus déroulants d’information à droite (indiqués par d
116
99
117
100
1.**`Watch` -- affiche les valeurs actuelles pour toutes les expressions.**
118
101
119
-
<<<<<<< HEAD
120
-
Vous pouvez cliquer sur le plus `+` et entrer une expression. Le débogueur affichera sa valeur à tout moment, en la recalculant automatiquement au cours de l'exécution.
121
-
=======
122
-
You can click the plus `+` and input an expression. The debugger will show its value, automatically recalculating it in the process of execution.
123
-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
102
+
Vous pouvez cliquer sur le plus `+` et saisir une expression. Le débogueur affichera sa valeur, la recalculant automatiquement dans le processus d'exécution.
124
103
125
104
2.**`Call Stack` -- affiche la chaîne des appels imbriqués.**
126
105
@@ -155,21 +134,12 @@ Il y a des boutons pour cela en haut du volet de droite. Actionnons-les.
155
134
156
135
En cliquant dessus encore et encore, vous parcourrez toutes les instructions de script une par une.
157
136
158
-
<<<<<<< HEAD
159
137
<spanclass="devtools"style="background-position:-62px-192px"></span> -- "Step over": lance la commande suivante, mais *n'entre pas dans une fonction*, raccourci clavier `key:F10`.
160
-
: Semblable à la précédente commande "Step", mais se comporte différemment si l'instruction suivante est un appel de fonction. C’est-à-dire qu’il ne s’agit pas d’une fonction intégrée, comme `alert`, mais d’une fonction propre.
138
+
: Similaire à la commande "Step" précédente, mais se comporte différemment si l'instruction suivante est un appel de fonction (pas une fonction intégrée, comme `alert`, mais une fonction qui nous est propre).
161
139
162
-
La commande "Step" y pénètre et met en pause l'exécution à la première ligne, tandis que "Step over" exécute l'appel de fonction imbriqué de manière invisible, en ignorant les éléments internes de la fonction.
140
+
Si nous les comparons, la commande "Step" entre dans un appel de fonction imbriqué et interrompt l'exécution à sa première ligne, tandis que "Step over" exécute l'appel de fonction imbriqué de manière invisible pour nous, en sautant les fonctions internes.
163
141
164
142
L'exécution est alors suspendue immédiatement après cette fonction.
165
-
=======
166
-
<spanclass="devtools"style="background-position:-62px-192px"></span> -- "Step over": run the next command, but *don't go into a function*, hotkey `key:F10`.
167
-
: Similar to the previous "Step" command, but behaves differently if the next statement is a function call (not a built-in, like `alert`, but a function of our own).
168
-
169
-
If we compare them, the "Step" command goes into a nested function call and pauses the execution at its first line, while "Step over" executes the nested function call invisibly to us, skipping the function internals.
170
-
171
-
The execution is then paused immediately after that function call.
172
-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
173
143
174
144
C'est bien si nous ne sommes pas intéressés à voir ce qui se passe dans l'appel de fonction.
175
145
@@ -184,13 +154,8 @@ Il y a des boutons pour cela en haut du volet de droite. Actionnons-les.
184
154
<spanclass="devtools"style="background-position:-61px-74px"></span> -- active / désactive tous les points d'arrêt.
185
155
: Ce bouton ne déplace pas l'exécution. Juste un ensemble de on/off pour les points d'arrêt.
186
156
187
-
<<<<<<< HEAD
188
157
<spanclass="devtools"style="background-position:-90px-146px"></span> -- active/désactive la pause automatique en cas d'erreur.
189
-
: Lorsque cette option est activée et que les outils de développement sont ouverts, une erreur de script interrompt automatiquement l'exécution. Ensuite, nous pouvons analyser les variables pour voir ce qui ne va pas. Donc, si notre script meurt avec une erreur, nous pouvons ouvrir le débogueur, activer cette option et recharger la page pour voir où il meurt et quel est le contexte à ce moment.
190
-
=======
191
-
<spanclass="devtools"style="background-position:-90px-146px"></span> -- enable/disable automatic pause in case of an error.
192
-
: When enabled, if the developer tools is open, an error during the script execution automatically pauses it. Then we can analyze variables in the debugger to see what went wrong. So if our script dies with an error, we can open debugger, enable this option and reload the page to see where it dies and what's the context at that moment.
193
-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
158
+
: Lorsqu'il est activé, si les outils de développement sont ouverts, une erreur lors de l'exécution du script le met automatiquement en pause. Ensuite, nous pouvons analyser les variables dans le débogueur pour voir ce qui n'a pas fonctionné. Donc, si notre script s’arrête avec une erreur, nous pouvons ouvrir le débogueur, activer cette option et recharger la page pour voir où il s’arrête et quel est le contexte à ce moment-là.
194
159
195
160
```smart header="Continue to here"
196
161
Un clic droit sur une ligne de code ouvre le menu contextuel avec une excellente option appelée "Continue to here".
@@ -222,11 +187,7 @@ Comme nous pouvons le constater, il existe trois méthodes principales pour susp
222
187
2. Les instructions du `debugger`.
223
188
3. Une erreur (si les outils de développement sont ouverts et le bouton <spanclass="devtools"style="background-position:-90px-146px"></span> est "on")
224
189
225
-
<<<<<<< HEAD
226
190
En pause, nous pouvons déboguer -- examiner les variables et suivre le code pour voir où l’exécution s’est mal passée.
227
-
=======
228
-
When paused, we can debug: examine variables and trace the code to see where the execution goes wrong.
229
-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
230
191
231
192
Il y a beaucoup plus d'options dans les outils de développement que celles couvertes ici. Le manuel complet est ici <https://developers.google.com/web/tools/chrome-devtools>.
Copy file name to clipboardExpand all lines: 1-js/03-code-quality/06-polyfills/article.md
+4-12Lines changed: 4 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
2
-
# Polyfills and transpilers
2
+
# Polyfills et transpilers
3
3
4
4
Le langage JavaScript évolue régulièrement. De nouvelles propositions pour le langage apparaissent régulièrement, elles sont analysées et, si elles sont jugées utiles, elles sont ajoutées à la liste dans <https://tc39.github.io/ecma262/> et ensuite progressent vers la [specification officielle](http://www.ecma-international.org/publications/standards/Ecma-262.htm).
5
5
@@ -9,7 +9,7 @@ Il est donc assez courant pour un moteur de ne mettre en œuvre qu'une partie de
9
9
10
10
Une bonne page pour voir l’état actuel de la prise en charge des fonctionnalités du langage est <https://kangax.github.io/compat-table/es6/> (c’est énorme, nous avons encore beaucoup à étudier).
11
11
12
-
As programmers, we'd like to use most recent features. The more good stuff - the better!
12
+
En tant que programmeurs, nous aimerions utiliser les fonctionnalités les plus récentes. Plus il y a de bonnes choses, mieux c'est !
13
13
14
14
D'un autre côté, comment faire fonctionner le code moderne sur des moteurs plus anciens qui ne comprennent pas encore les fonctionnalités récentes ?
15
15
@@ -42,11 +42,7 @@ Habituellement, un développeur exécute le transpiler sur son propre ordinateur
42
42
43
43
En parlant de noms, [Babel](https://babeljs.io) est l'un des transpileurs les plus connus.
44
44
45
-
<<<<<<< HEAD
46
-
Les systèmes de construction de projets modernes, tels que [webpack](http://webpack.github.io/), fournissent des moyens pour exécuter un transpiler automatiquement à chaque changement de code, il est donc très facile à intégrer dans le processus de développement.
47
-
=======
48
-
Modern project build systems, such as [webpack](https://webpack.js.org/), provide means to run transpiler automatically on every code change, so it's very easy to integrate into development process.
49
-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
45
+
Les systèmes de construction de projets modernes, tels que [webpack](http://webpack.js.org/), fournissent des moyens pour exécuter un transpiler automatiquement à chaque changement de code, il est donc très facile à intégrer dans le processus de développement.
50
46
51
47
## Les polyfills
52
48
@@ -86,11 +82,7 @@ Dans ce chapitre, nous aimerions vous motiver à étudier les fonctionnalités d
86
82
87
83
N'oubliez pas d'utiliser un transpiler (si vous utilisez une syntaxe ou des opérateurs modernes) et des polyfills (pour ajouter des fonctions qui peuvent manquer). Et ils veilleront à ce que le code fonctionne.
88
84
89
-
<<<<<<< HEAD
90
-
Par exemple, plus tard, lorsque vous serez familiarisé avec JavaScript, vous pourrez configurer un système de création de code basé sur [webpack](http://webpack.github.io/) avec le plugin [babel-loader](https://github.com/babel/babel-loader).
91
-
=======
92
-
For example, later when you're familiar with JavaScript, you can setup a code build system based on [webpack](https://webpack.js.org/) with [babel-loader](https://github.com/babel/babel-loader) plugin.
93
-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
85
+
Par exemple, plus tard, lorsque vous serez familiarisé avec JavaScript, vous pourrez configurer un système de création de code basé sur [webpack](http://webpack.js.org/) avec le plugin [babel-loader](https://github.com/babel/babel-loader).
94
86
95
87
De bonnes ressources qui montrent l'état actuel de la prise en charge de diverses fonctionnalités :
96
88
- <https://kangax.github.io/compat-table/es6/> - pour du pur JavaScript.
0 commit comments