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/16-function-expressions/article.md
+4-35Lines changed: 4 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -94,11 +94,6 @@ Tout fonctionnerait de la même manière.
94
94
````smart header="Pourquoi y a-t-il un point-virgule à la fin ?"
95
95
Il peut y avoir une question, pourquoi la Fonction Expression a un point-virgule `;` à la fin, et la Fonction Déclaration non :
96
96
97
-
<<<<<<< HEAD
98
-
=======
99
-
````smart header="Why is there a semicolon at the end?"
100
-
You might wonder, why do Function Expressions have a semicolon `;` at the end, but Function Declarations do not:
101
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
102
97
103
98
```js
104
99
function sayHi() {
@@ -152,21 +147,13 @@ function showCancel() {
152
147
ask("Do you agree?", showOk, showCancel);
153
148
```
154
149
155
-
<<<<<<< HEAD
156
150
En pratique, ces fonctions sont très utiles. La principale différence entre une demande réelle (`ask`) et l'exemple ci-dessus est que les fonctions réelles utilisent des moyens d'interagir avec l'utilisateur plus complexes que la simple confirmation (`confirm`). Dans le navigateur, une telle fonction dessine généralement une belle fenêtre de questions. Mais c'est une autre histoire.
157
-
=======
158
-
In practice, such functions are quite useful. The major difference between a real-life `ask` and the example above is that real-life functions use more complex ways to interact with the user than a simple `confirm`. In the browser, such functions usually draw a nice-looking question window. But that's another story.
159
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
160
151
161
152
**Les arguments `showOk` et `showCancel` de `ask` s'appellent des *fonctions callback* (fonctions de rappel) ou simplement des *callbacks* (rappels).**
162
153
163
154
L'idée est que nous passions une fonction et attendions qu'elle soit "rappelée" plus tard si nécessaire. Dans notre cas, `showOk` devient le rappel pour la réponse "oui" et `showCancel` pour la "non" réponse.
164
155
165
-
<<<<<<< HEAD
166
-
Nous pouvons utiliser les Expressions de Fonction pour écrire la même fonction mais plus courte :
167
-
=======
168
-
We can use Function Expressions to write an equivalent, shorter function:
169
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
156
+
Nous pouvons utiliser les Fonctions Expressions pour écrire la même fonction mais plus courte :
170
157
171
158
```js run no-beautify
172
159
functionask(question, yes, no) {
@@ -202,23 +189,15 @@ Formulons les principales différences entre les déclarations de fonction et le
202
189
203
190
Tout d'abord, la syntaxe : comment les différencier dans le code.
204
191
205
-
<<<<<<< HEAD
206
-
-*Déclaration de fonction:* une fonction déclarée séparément dans le flux de code principal.
207
-
=======
208
-
-*Function Declaration:* a function, declared as a separate statement, in the main code flow:
209
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
192
+
-*La Fonction Déclaration* une fonction déclarée séparément dans le flux de code principal.
210
193
211
194
```js
212
195
// Function Declaration
213
196
functionsum(a, b) {
214
197
return a + b;
215
198
}
216
199
```
217
-
<<<<<<< HEAD
218
-
-*Fonction Expression :* une fonction créée dans une expression ou dans une autre construction de syntaxe. Ici, la fonction est créée à droite de "l'affectation de l'expression" `=` :
219
-
=======
220
-
-*Function Expression:* a function, created inside an expression or inside another syntax construct. Here, the function is created on the right side of the "assignment expression" `=`:
221
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
200
+
-*La Fonction Expression :* une fonction créée dans une expression ou dans une autre construction de syntaxe. Ici, la fonction est créée à droite de "l'affectation de l'expression"`=`:
222
201
223
202
```js
224
203
// Function Expression
@@ -316,13 +295,8 @@ if (age < 18) {
316
295
*/!*
317
296
// |
318
297
function welcome() { // |
319
-
<<<<<<<HEAD
320
298
alert("Hello!"); // | La déclaration de fonction est disponible
321
299
} // | partout dans le bloc où elle est déclarée
322
-
=======
323
-
alert("Hello!"); // | Function Declaration is available
324
-
} // | everywhere in the block where it's declared
325
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
326
300
// |
327
301
*!*
328
302
welcome(); // / (exécution)
@@ -388,13 +362,8 @@ welcome(); // ok maintenant
388
362
```
389
363
390
364
391
-
<<<<<<< HEAD
392
365
```smart header="Quand choisir la fonction déclaration par rapport à la fonction expression ?"
393
-
En règle générale, lorsque nous devons déclarer une fonction, la première chose à prendre en compte est la syntaxe de la fonction déclaration, celle que nous utilisions auparavant. Cela donne plus de liberté dans l'organisation de notre code, car nous pouvons appeler de telles fonctions avant qu'elles ne soient déclarées.
394
-
=======
395
-
```smart header="When to choose Function Declaration versus Function Expression?"
396
-
As a rule of thumb, when we need to declare a function, the first thing to consider is Function Declaration syntax. It gives more freedom in how to organize our code, because we can call such functions before they are declared.
397
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
366
+
En règle générale, lorsque nous devons déclarer une fonction, la première chose à prendre en compte est la syntaxe de la fonction déclaration. Cela donne plus de liberté dans l'organisation de notre code, car nous pouvons appeler de telles fonctions avant qu'elles ne soient déclarées.
398
367
399
368
C’est également meilleur pour la lisibilité, car il est plus facile de rechercher la `fonction f(…) {…}` dans le code que `let f = function(…) {…};`. Les fonction déclarations sont plus "accrocheuses".
0 commit comments