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/05-data-types/10-destructuring-assignment/article.md
+2-37Lines changed: 2 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,21 +2,12 @@
2
2
3
3
Les deux structures de données les plus utilisées en JavaScript sont `Object` et `Array`.
4
4
5
-
<<<<<<< HEAD
6
5
- Les objets nous permettent de créer une seule entité qui stocke les éléments de données par clé.
7
6
- Les tableaux nous permettent de rassembler des éléments de données dans une liste ordonnée.
8
-
=======
9
-
- Objects allow us to create a single entity that stores data items by key.
10
-
- Arrays allow us to gather data items into an ordered list.
11
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
12
7
13
8
Mais lorsque nous transmettons ceux-ci à une fonction, il se peut que celle-ci n'ait pas besoin d'un objet / tableau dans son ensemble, mais plutôt de morceaux individuels.
14
9
15
-
<<<<<<< HEAD
16
10
*L'affectation par décomposition* est une syntaxe spéciale qui nous permet de "décompresser" des tableaux ou des objets dans un ensemble de variables, ce qui est parfois plus pratique.
17
-
=======
18
-
*Destructuring assignment* is a special syntax that allows us to "unpack" arrays or objects into a bunch of variables, as sometimes that's more convenient.
19
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
20
11
21
12
La décomposition fonctionne également très bien avec des fonctions complexes comportant de nombreux paramètres, valeurs par défaut, etc.
22
13
@@ -89,14 +80,8 @@ That works, because internally a destructuring assignment works by iterating ove
89
80
````
90
81
91
82
92
-
<<<<<<< HEAD
93
-
````smart header="Attribuer à n'importe quoi à la partie gauche"
94
-
=======
95
-
````smart header="Assign to anything at the left-side"
96
-
We can use any "assignables" on the left side.
97
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
98
-
99
-
Nous pouvons utiliser n'importe quel "assignable" à gauche.
83
+
````smart header="Attribuer n'importe quoi à la partie gauche"
84
+
Nous pouvons utiliser n'importe quels "assignables" à gauche.
100
85
101
86
Par exemple, une propriété d'objet :
102
87
```js run
@@ -194,11 +179,7 @@ alert(rest.length); // 2
194
179
*/!*
195
180
```
196
181
197
-
<<<<<<< HEAD
198
182
La valeur de `rest` est le tableau des éléments du tableau restants.
199
-
=======
200
-
The value of `rest` is the array of the remaining array elements.
201
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
202
183
203
184
Nous pouvons utiliser n’importe quel autre nom de variable à la place de `rest`, assurez-vous simplement qu’il a trois points devant lui et soit placé en dernier dans l’affectation par décomposition.
204
185
@@ -256,11 +237,7 @@ La syntaxe de base est la suivante :
256
237
let {var1, var2} = {var1:…, var2:…}
257
238
```
258
239
259
-
<<<<<<< HEAD
260
240
Nous devrions avoir un objet existant sur le côté droit, que nous voulons diviser en variables. La partie gauche contient un "modèle" de type objet pour les propriétés correspondantes. Dans le cas le plus simple, c'est une liste de noms de variables dans `{...}`.
261
-
=======
262
-
We should have an existing object on the right side, that we want to split into variables. The left side contains an object-like "pattern" for corresponding properties. In the simplest case, that's a list of variable names in `{...}`.
263
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
264
241
265
242
Par exemple :
266
243
@@ -280,11 +257,7 @@ alert(width); // 100
280
257
alert(height); // 200
281
258
```
282
259
283
-
<<<<<<< HEAD
284
260
Les propriétés `options.title`, `options.width` et `options.height` sont affectées aux variables correspondantes.
285
-
=======
286
-
Properties `options.title`, `options.width` and `options.height` are assigned to the corresponding variables.
287
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
288
261
289
262
L'ordre n'a pas d'importance. Cela fonctionne aussi :
290
263
@@ -450,11 +423,7 @@ alert( title ); // Menu
450
423
451
424
Si un objet ou un tableau contient d'autres objets et tableaux imbriqués, nous pouvons utiliser des modèles à gauche plus complexes pour extraire des parties plus profondes.
452
425
453
-
<<<<<<< HEAD
454
426
Dans le code ci-dessous, `options` a un autre objet dans la propriété` size` et un tableau dans la propriété `items`. Le modèle à gauche de l'affectation a la même structure pour en extraire des valeurs :
455
-
=======
456
-
In the code below `options` has another object in the property `size` and an array in the property `items`. The pattern on the left side of the assignment has the same structure to extract values from them:
457
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
458
427
459
428
```js run
460
429
let options = {
@@ -463,11 +432,7 @@ let options = {
463
432
height:200
464
433
},
465
434
items: ["Cake", "Donut"],
466
-
<<<<<<<HEAD
467
435
extra:true
468
-
=======
469
-
extra:true
470
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
471
436
};
472
437
473
438
// affectation par décomposition divisée sur plusieurs lignes pour la clarté
0 commit comments