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
+10-11Lines changed: 10 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -74,7 +74,7 @@ sayHi(); // Hello // cela fonctionne toujours aussi (pourquoi pas)
74
74
Voici ce qui se passe ci-dessus en détail :
75
75
76
76
1. La Déclaration de Fonction `(1)` crée la fonction et la place dans la variable nommée `sayHi`.
77
-
2. La ligne `(2)`le copie dans la variable `func`. Veuillez noter à nouveau : il n'y a pas de parenthèses après `sayHi`. S'il y en avait, alors `func = sayHi()` écrirait *le résultat de l'appel*`sayHi()` dans `func`, et non *la fonction*`sayHi` elle-même.
77
+
2. La ligne `(2)`la copie dans la variable `func`. Veuillez noter à nouveau : il n'y a pas de parenthèses après `sayHi`. S'il y en avait, alors `func = sayHi()` écrirait *le résultat de l'appel*`sayHi()` dans `func`, et non *la fonction*`sayHi` elle-même.
78
78
3. Maintenant, la fonction peut être appelée à la fois en tant que `sayHi()` et `func()`.
79
79
80
80
Nous aurions aussi pu utiliser une Fonction Expression pour déclarer `sayHi`, à la première ligne :
@@ -114,12 +114,12 @@ Le point-virgule serait là pour une affectation plus simple, telle que `let say
114
114
115
115
Examinons plus d’exemples de fonctions passées en tant que valeurs et utilisant des expressions de fonction.
116
116
117
-
Nous allons écrire une fonction `ask(question, oui, non)` avec trois paramètres :
117
+
Nous allons écrire une fonction `ask(question, yes, no)` avec trois paramètres :
118
118
119
119
`question`
120
120
: Texte de la question
121
121
122
-
`Yes`
122
+
`yes`
123
123
: Fonction à exécuter si la réponse est “Yes”
124
124
125
125
`no`
@@ -130,7 +130,7 @@ La fonction doit poser la question et, en fonction de la réponse de l'utilisate
130
130
```js run
131
131
*!*
132
132
functionask(question, yes, no) {
133
-
if (confirm(question)) yes()
133
+
if (confirm(question)) yes();
134
134
elseno();
135
135
}
136
136
*/!*
@@ -151,13 +151,13 @@ En pratique, ces fonctions sont très utiles. La principale différence entre un
151
151
152
152
**Les arguments `showOk` et `showCancel` de `ask` s'appellent des *fonctions callback* (fonctions de rappel) ou simplement des *callbacks* (rappels).**
153
153
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.
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 réponse "non".
155
155
156
156
Nous pouvons utiliser les Fonctions Expressions pour écrire la même fonction mais plus courte :
157
157
158
158
```js run no-beautify
159
159
functionask(question, yes, no) {
160
-
if (confirm(question)) yes()
160
+
if (confirm(question)) yes();
161
161
elseno();
162
162
}
163
163
@@ -182,7 +182,6 @@ Une fonction peut être perçue comme une *action*.
182
182
Nous pouvons tout aussi bien la passer en tant que variable ou l'exécuter si nous le voulons.
183
183
```
184
184
185
-
186
185
## Fonction Expression vs Fonction Déclaration
187
186
188
187
Formulons les principales différences entre les déclarations de fonction et les expressions de fonctions.
@@ -214,7 +213,7 @@ Une fois que le flux d'exécution passe à droite de l'affectation, `let sum = f
214
213
215
214
Les déclarations de fonction sont différentes.
216
215
217
-
**Une fonction déclaration peut être appelée plus tôt que sa définition.**
216
+
**Une Fonction Déclaration peut être appelée plus tôt que sa définition.**
218
217
219
218
Par exemple, une fonction déclaration globale est visible dans tout le script, peu importe où elle se trouve.
220
219
@@ -250,7 +249,7 @@ let sayHi = function(name) { // (*) plus de magie
250
249
251
250
Les expressions de fonction sont créées lorsque l'exécution les atteint. Cela ne se produirait que dans la ligne `(*)`. Trop tard.
252
251
253
-
Une autre particularité des Fonction Declaration est leur portée de bloc.
252
+
Une autre particularité des Fonction Déclaration est leur portée de bloc.
254
253
255
254
**En mode strict, quand une Fonction Déclaration se trouve dans un bloc de code, elle est visible partout dans ce bloc. Mais pas en dehors.**
256
255
@@ -295,7 +294,7 @@ if (age < 18) {
295
294
*/!*
296
295
// |
297
296
function welcome() { // |
298
-
alert("Hello!"); // | La déclaration de fonction est disponible
297
+
alert("Hello!"); // | La déclaration de fonction est disponible
299
298
} // | partout dans le bloc où elle est déclarée
300
299
// |
301
300
*!*
@@ -373,7 +372,7 @@ C’est également meilleur pour la lisibilité, car il est plus facile de reche
373
372
374
373
## Résumé
375
374
376
-
- Les fonctions sont des valeurs. Ils peuvent être attribués, copiés ou déclarés à n’importe quel endroit du code.
375
+
- Les fonctions sont des valeurs. Elles peuvent être attribuées, copiées ou déclarées à n’importe quel endroit du code.
377
376
- Si la fonction est déclarée comme une instruction distincte dans le flux de code principal, cela s'appelle une "déclaration de fonction".
378
377
- Si la fonction est créée dans le cadre d’une expression, elle est appelée "expression de fonction".
379
378
- Les déclarations de fonctions sont traitées avant l'exécution du bloc de code. Elles sont visibles partout dans le bloc.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/17-arrow-functions-basics/article.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ Comme vous pouvez le voir `(a, b) => a + b` représente une fonction qui accepte
37
37
38
38
- Pour un argument unique, alors les parenthèses autour du paramètre peuvent être omises, rendant la fonction encore plus courte.
39
39
40
-
For example:
40
+
Par exemple:
41
41
42
42
```js run
43
43
*!*
@@ -64,7 +64,7 @@ Par exemple pour créer une fonction dynamiquement :
64
64
let age = prompt("What is your age?", 18);
65
65
66
66
let welcome = (age < 18) ?
67
-
() => alert('Hello!') :
67
+
() => alert("Hello!") :
68
68
() => alert("Greetings!");
69
69
70
70
welcome(); // ok now
@@ -76,7 +76,7 @@ Elles sont très utile pour des actions sur une ligne et que l'on est juste pare
76
76
77
77
## Les fonctions fléchées multiligne
78
78
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.
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 elles.
80
80
81
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.
82
82
@@ -94,11 +94,11 @@ alert( sum(1, 2) ); // 3
94
94
```
95
95
96
96
```smart header="Plus à venir"
97
-
Ici nous nous arrêtons sur les fonctions fléchées pour leur syntaxe bréve mais ce n'est pas tout !
97
+
Nous nous arrêtons ici sur les fonctions fléchées pour leur syntaxe brève mais ce n'est pas tout !
98
98
99
99
Les fonctions fléchées ont d'autres particularités intéressantes.
100
100
101
-
Pour les aprrendre en profondeur, nous devons d'abord voir d'autres aspects de Javascript, nous reviendrons donc aux fonctions fléchées plus tard dans le chapitre <info:arrow-functions>.
101
+
Pour les apprendre en profondeur, nous devons d'abord voir d'autres aspects de JavaScript, nous reviendrons donc aux fonctions fléchées plus tard dans le chapitre <info:arrow-functions>.
102
102
103
103
Pour l'instant, nous pouvons les utiliser pour des actions sur une ligne ou des callbacks (rappels).
104
104
```
@@ -107,5 +107,5 @@ Pour l'instant, nous pouvons les utiliser pour des actions sur une ligne ou des
107
107
108
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 :
109
109
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`.
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
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/02-first-steps/18-javascript-specials/article.md
+10-8Lines changed: 10 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,7 +43,7 @@ for(;;) {
43
43
44
44
Plus d'informations dans : <info:structure>.
45
45
46
-
## Strict mode
46
+
## Mode strict
47
47
48
48
Pour activer pleinement toutes les fonctionnalités de JavaScript moderne, nous devrions commencer les scripts avec `"use strict"`.
49
49
@@ -70,6 +70,7 @@ Peut être déclaré en utilisant :
70
70
-`var` (à l'ancienne, nous le verrons plus tard)
71
71
72
72
Un nom de variable peut inclure :
73
+
73
74
- Lettres et chiffres, mais le premier caractère ne peut pas être un chiffre.
74
75
- Les caractères `$` et `_` sont normaux, à égalité avec les lettres.
75
76
- Les alphabets et les hiéroglyphes non latins sont également autorisés, mais ils ne sont généralement pas utilisés.
@@ -85,13 +86,14 @@ Il y a 8 types de données :
85
86
86
87
-`number` pour les nombres à virgule flottante et les nombres entiers,
87
88
-`bigint` pour des nombres entiers de longueur arbitraire,
88
-
-`string` pour les chaînes de caractères
89
+
-`string` pour les chaînes de caractères,
89
90
-`boolean` pour les valeurs logiques : `true/false`,
90
91
-`null` -- un type avec une seule valeur `null`, signifiant "vide" ou "n'existe pas",
91
92
-`undefined` -- un type avec une seule valeur `undefined`, signifiant "non assigné",
92
-
-`object` et `symbol` -- Pour les structures de données complexes et les identifiants uniques, nous ne les avons pas encore appris.
93
+
-`object` et `symbol` -- pour les structures de données complexes et les identifiants uniques, nous ne les avons pas encore appris.
93
94
94
95
L'opérateur `typeof` renvoie le type d'une valeur, à deux exceptions près :
96
+
95
97
```js
96
98
typeofnull=="object"// erreur dans le langage
97
99
typeoffunction(){} =="function"// les fonctions sont traitées spécialement
@@ -144,19 +146,19 @@ Affectations
144
146
: Il y a une assignation simple : `a = b` et des combinés comme `a *= 2`.
145
147
146
148
Bitwise
147
-
: Les opérateurs au niveau du bit fonctionnent avec des entiers 32 bits au niveau du bit le plus bas : voir la [doc](mdn:/JavaScript/Guide/Expressions_and_Operators#bitwise_operators)) quand ils sont nécessaires.
149
+
: Les opérateurs au niveau du bit fonctionnent avec des entiers 32 bits au niveau du bit le plus bas : voir la [doc](mdn:/JavaScript/Guide/Expressions_and_Operators#bitwise_operators) quand ils sont nécessaires.
148
150
149
151
Conditionnel
150
152
: Le seul opérateur avec trois paramètres : `cond ? resultA : resultB`. Si `cond` est vrai, retourne `resultA`, autrement `resultB`.
151
153
152
154
Opérateurs logiques
153
-
: ET logique `&&` et OU `||` effectuent une évaluation en circuit court puis renvoyent la valeur là où ils se sont arrêtés(pas nécessairement `true`/`false`). NOT logique `!` convertit l'opérande en type booléen et retourne la valeur inverse.
155
+
: ET logique `&&` et OU `||` effectuent une évaluation en circuit court puis renvoyent la valeur là où ils se sont arrêtés(pas nécessairement `true`/`false`). NOT logique `!` convertit l'opérande en type booléen et retourne la valeur inverse.
154
156
155
157
L'opérateur de coalescence des nuls
156
-
: L'opérateur `??` permet de choisir une valeur définie dans une liste de variables. Le résultat de `a ?? b` est `a` sauf s'il est `null/undefined`, alors `b`.
158
+
: L'opérateur `??` permet de choisir une valeur définie dans une liste de variables. Le résultat de `a ?? b` est `a` sauf s'il est `null`/`undefined`, alors `b`.
157
159
158
160
Comparaisons
159
-
: Le contrôle d’égalité `==` pour les valeurs de types différents les convertit en un nombre (sauf `null` et `undefined` égales entre elles et rien d’autre), elles sont donc égales :
161
+
: Le contrôle d’égalité `==` pour les valeurs de types différents les convertit en un nombre (sauf `null` et `undefined`, égales entre elles et rien d’autre), elles sont donc égales :
C’était une brève liste de fonctionnalités JavaScript. Pour l’instant, nous n’avons étudié que les bases. Plus loin dans le tutoriel, vous trouverez plus de fonctionnalités spéciales et avancées de JavaScript.
285
+
C’était une brève liste de fonctionnalités de JavaScript. Pour l’instant, nous n’avons étudié que les bases. Plus loin dans le tutoriel, vous trouverez plus de fonctionnalités spéciales et avancées de JavaScript.
0 commit comments