Skip to content

Commit 8727528

Browse files
Apply minor fixes in '1-js/06-advanced-functions/02-rest-parameters-spread/article.md'
1 parent 164089d commit 8727528

File tree

1 file changed

+9
-9
lines changed
  • 1-js/06-advanced-functions/02-rest-parameters-spread

1 file changed

+9
-9
lines changed

1-js/06-advanced-functions/02-rest-parameters-spread/article.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,14 @@ Par exemple :
88
- `Object.assign(dest, src1, ..., srcN)` -- copie les propriétés de `src1..N` dans `dest`.
99
- ... etc.
1010

11-
Dans ce chapitre, nous allons apprendre à faire de même. Et aussi, comment passer des tableaux à des fonctions telles que des paramètres.
11+
Dans ce chapitre, nous apprendrons à faire de même. Et aussi, comment passer des tableaux en paramètre à de telles fonctions.
1212

1313
## Les paramètres Rest `...`
1414

1515
Une fonction peut être appelée avec un nombre quelconque d'arguments, peu importe comment elle a été définie.
1616

1717
Comme ici :
18+
1819
```js run
1920
function sum(a, b) {
2021
return a + b;
@@ -96,9 +97,9 @@ showName("Julius", "Caesar");
9697
showName("Ilya");
9798
```
9899

99-
Autrefois, les paramètres rest n'existaient pas dans le langage, et utiliser les `arguments` était le seul moyen d'obtenir tous les arguments de la fonction. Et cela fonctionne toujours, on peut le trouver dans l'ancien code.
100+
Autrefois, les paramètres rest n'existaient pas dans le langage, et utiliser `arguments` était le seul moyen d'obtenir tous les arguments de la fonction. Et cela fonctionne toujours, on peut le trouver dans l'ancien code.
100101

101-
Mais l’inconvénient est que, bien que les `arguments` ressemblent à un tableau et qu’ils soient itératifs, ce n’est pas un tableau. Il ne supporte pas les méthodes de tableau, nous ne pouvons donc pas appeler `arguments.map(...)` par exemple.
102+
Mais l’inconvénient est que, bien que `arguments` ressemblent à un tableau et qu’ils soient itératifs, ce n’est pas un tableau. Il ne supporte pas les méthodes de tableau, nous ne pouvons donc pas appeler `arguments.map(...)` par exemple.
102103

103104
De plus, il contient toujours tous les arguments. Nous ne pouvons pas les capturer partiellement, comme nous l’avons fait avec les paramètres rest.
104105

@@ -147,7 +148,7 @@ alert( Math.max(arr) ); // NaN
147148
148149
Et nous ne pouvons sûrement pas lister manuellement les éléments dans le code `Math.max(arr[0], arr[1], arr[2])`, parce que nous pouvons ne pas savoir combien il y en a. Au fur et à mesure que notre script s'exécute, il peut y en avoir beaucoup ou pas du tout. Et ça deviendrait moche.
149150
150-
*La sytaxe Spread* à la rescousse! Il ressemble aux paramètres rest, en utilisant également `...`, mais fait tout le contraire.
151+
*La sytaxe Spread* à la rescousse ! Il ressemble aux paramètres rest, en utilisant également `...`, mais fait tout le contraire.
151152
152153
Quand `...arr` est utilisé dans l'appel de fonction, il "développe" un objet itérable `arr` dans la liste des arguments.
153154
@@ -203,9 +204,9 @@ alert( [...str] ); // H,e,l,l,o
203204
204205
La syntaxe spread utilise en interne des itérateurs pour rassembler les éléments, de la même manière que `for..of`.
205206
206-
Donc, pour une chaine de caractères, `for..of` retourn des caractères et `...str` devient `"H","e","l","l","o"`. La liste de caractères est transmise à l'initialiseur de tableau `[...str]`.
207+
Donc, pour une chaine de caractères, `for..of` retourne des caractères et `...str` devient `"H","e","l","l","o"`. La liste de caractères est transmise à l'initialiseur de tableau `[...str]`.
207208
208-
Pour cette tâche particulière, nous pourrions également utiliser `Array.from`, car il convertit un itérable (comme une chaîne de caractères) en un tableau :
209+
Pour cette tâche particulière, nous pourrions également utiliser `Array.from`, car il convertit un itérable (comme une chaîne de caractères) en un tableau :
209210
210211
```js run
211212
let str = "Hello";
@@ -223,10 +224,9 @@ Mais il existe une différence subtile entre `Array.from(obj)` et `[...obj]` :
223224
224225
Donc, pour transformer quelque chose en tableau, `Array.from` tend à être plus universel.
225226
226-
227227
## Copier un tableau/objet
228228
229-
Souvenez-vous quand nous avons parlé de `Object.assign()` [par le passé](info:object-copy#cloning-and-merging-object-assign) ?
229+
Vous souvenez-vous quand nous avons parlé de `Object.assign()` [par le passé](info:object-copy#cloning-and-merging-object-assign) ?
230230
231231
Il est possible de faire la même chose avec la syntaxe spread !
232232
@@ -291,4 +291,4 @@ Modèles d'utilisation :
291291
292292
Ensemble, ils permettent de voyager facilement entre une liste et un tableau de paramètres.
293293
294-
Tous les arguments d'un appel de fonction sont également disponibles dans les `arguments` "à l'ancienne" : objet itérable array-like.
294+
Tous les arguments d'un appel de fonction sont également disponibles dans la vriable `arguments` "à l'ancienne" : objet itérable array-like.

0 commit comments

Comments
 (0)