Skip to content

Commit 966f0cf

Browse files
Miscellaneous minor fixes in 1-js/02-first-steps/16..18
1 parent 1e01747 commit 966f0cf

File tree

3 files changed

+26
-25
lines changed

3 files changed

+26
-25
lines changed

1-js/02-first-steps/16-function-expressions/article.md

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ sayHi(); // Hello // cela fonctionne toujours aussi (pourquoi pas)
7474
Voici ce qui se passe ci-dessus en détail :
7575

7676
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.
7878
3. Maintenant, la fonction peut être appelée à la fois en tant que `sayHi()` et `func()`.
7979

8080
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
114114

115115
Examinons plus d’exemples de fonctions passées en tant que valeurs et utilisant des expressions de fonction.
116116

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 :
118118

119119
`question`
120120
: Texte de la question
121121

122-
`Yes`
122+
`yes`
123123
: Fonction à exécuter si la réponse est “Yes”
124124

125125
`no`
@@ -130,7 +130,7 @@ La fonction doit poser la question et, en fonction de la réponse de l'utilisate
130130
```js run
131131
*!*
132132
function ask(question, yes, no) {
133-
if (confirm(question)) yes()
133+
if (confirm(question)) yes();
134134
else no();
135135
}
136136
*/!*
@@ -151,13 +151,13 @@ En pratique, ces fonctions sont très utiles. La principale différence entre un
151151

152152
**Les arguments `showOk` et `showCancel` de `ask` s'appellent des *fonctions callback* (fonctions de rappel) ou simplement des *callbacks* (rappels).**
153153

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".
155155

156156
Nous pouvons utiliser les Fonctions Expressions pour écrire la même fonction mais plus courte :
157157

158158
```js run no-beautify
159159
function ask(question, yes, no) {
160-
if (confirm(question)) yes()
160+
if (confirm(question)) yes();
161161
else no();
162162
}
163163

@@ -182,7 +182,6 @@ Une fonction peut être perçue comme une *action*.
182182
Nous pouvons tout aussi bien la passer en tant que variable ou l'exécuter si nous le voulons.
183183
```
184184

185-
186185
## Fonction Expression vs Fonction Déclaration
187186

188187
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
214213

215214
Les déclarations de fonction sont différentes.
216215

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.**
218217

219218
Par exemple, une fonction déclaration globale est visible dans tout le script, peu importe où elle se trouve.
220219

@@ -250,7 +249,7 @@ let sayHi = function(name) { // (*) plus de magie
250249
251250
Les expressions de fonction sont créées lorsque l'exécution les atteint. Cela ne se produirait que dans la ligne `(*)`. Trop tard.
252251
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.
254253
255254
**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.**
256255
@@ -295,7 +294,7 @@ if (age < 18) {
295294
*/!*
296295
// |
297296
function welcome() { // |
298-
alert("Hello!"); // | La déclaration de fonction est disponible
297+
alert("Hello!"); // | La déclaration de fonction est disponible
299298
} // | partout dans le bloc où elle est déclarée
300299
// |
301300
*!*
@@ -373,7 +372,7 @@ C’est également meilleur pour la lisibilité, car il est plus facile de reche
373372
374373
## Résumé
375374
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.
377376
- 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".
378377
- Si la fonction est créée dans le cadre d’une expression, elle est appelée "expression de fonction".
379378
- Les déclarations de fonctions sont traitées avant l'exécution du bloc de code. Elles sont visibles partout dans le bloc.

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Comme vous pouvez le voir `(a, b) => a + b` représente une fonction qui accepte
3737

3838
- Pour un argument unique, alors les parenthèses autour du paramètre peuvent être omises, rendant la fonction encore plus courte.
3939

40-
For example:
40+
Par exemple:
4141

4242
```js run
4343
*!*
@@ -64,7 +64,7 @@ Par exemple pour créer une fonction dynamiquement :
6464
let age = prompt("What is your age?", 18);
6565
6666
let welcome = (age < 18) ?
67-
() => alert('Hello!') :
67+
() => alert("Hello!") :
6868
() => alert("Greetings!");
6969
7070
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
7676

7777
## Les fonctions fléchées multiligne
7878

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.
8080

8181
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.
8282
@@ -94,11 +94,11 @@ alert( sum(1, 2) ); // 3
9494
```
9595

9696
```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 !
9898
9999
Les fonctions fléchées ont d'autres particularités intéressantes.
100100
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>.
102102
103103
Pour l'instant, nous pouvons les utiliser pour des actions sur une ligne ou des callbacks (rappels).
104104
```
@@ -107,5 +107,5 @@ Pour l'instant, nous pouvons les utiliser pour des actions sur une ligne ou des
107107

108108
Les fonctions fléchées sont pratiques pour des actions simples, en particulier pour les one-liners. Ils se déclinent en deux variantes :
109109

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`.
111111
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.

1-js/02-first-steps/18-javascript-specials/article.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ for(;;) {
4343

4444
Plus d'informations dans : <info:structure>.
4545

46-
## Strict mode
46+
## Mode strict
4747

4848
Pour activer pleinement toutes les fonctionnalités de JavaScript moderne, nous devrions commencer les scripts avec `"use strict"`.
4949

@@ -70,6 +70,7 @@ Peut être déclaré en utilisant :
7070
- `var` (à l'ancienne, nous le verrons plus tard)
7171

7272
Un nom de variable peut inclure :
73+
7374
- Lettres et chiffres, mais le premier caractère ne peut pas être un chiffre.
7475
- Les caractères `$` et `_` sont normaux, à égalité avec les lettres.
7576
- 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 :
8586

8687
- `number` pour les nombres à virgule flottante et les nombres entiers,
8788
- `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,
8990
- `boolean` pour les valeurs logiques : `true/false`,
9091
- `null` -- un type avec une seule valeur `null`, signifiant "vide" ou "n'existe pas",
9192
- `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.
9394

9495
L'opérateur `typeof` renvoie le type d'une valeur, à deux exceptions près :
96+
9597
```js
9698
typeof null == "object" // erreur dans le langage
9799
typeof function(){} == "function" // les fonctions sont traitées spécialement
@@ -144,19 +146,19 @@ Affectations
144146
: Il y a une assignation simple : `a = b` et des combinés comme `a *= 2`.
145147

146148
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.
148150

149151
Conditionnel
150152
: Le seul opérateur avec trois paramètres : `cond ? resultA : resultB`. Si `cond` est vrai, retourne `resultA`, autrement `resultB`.
151153

152154
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.
154156

155157
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`.
157159

158160
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 :
160162

161163
```js run
162164
alert( 0 == false ); // true
@@ -280,4 +282,4 @@ Details : voir <info:function-basics>, <info:arrow-functions-basics>.
280282
281283
## Plus à venir
282284
283-
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

Comments
 (0)