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/04-object-basics/01-object/article.md
+8-58Lines changed: 8 additions & 58 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,11 +44,7 @@ L'objet `user` résultant peut être imaginé comme une armoire avec deux fichie
44
44
45
45

46
46
47
-
<<<<<<< HEAD
48
47
Nous pouvons ajouter, supprimer et lire des fichiers à tout moment.
49
-
=======
50
-
We can add, remove and read files from it at any time.
51
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
52
48
53
49
Les valeurs de propriété sont accessibles à l'aide de la notation par points :
54
50
@@ -66,11 +62,7 @@ user.isAdmin = true;
66
62
67
63

68
64
69
-
<<<<<<< HEAD
70
65
Pour supprimer une propriété, nous pouvons utiliser l'opérateur `delete` :
71
-
=======
72
-
To remove a property, we can use the `delete` operator:
73
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
74
66
75
67
```js
76
68
deleteuser.age;
@@ -209,21 +201,13 @@ let bag = {
209
201
};
210
202
```
211
203
212
-
<<<<<<< HEAD
213
204
Les crochets sont beaucoup plus puissants que la notation par points. Ils autorisent tous les noms de propriété et variables. Mais ils sont aussi plus lourds à écrire.
214
-
=======
215
-
Square brackets are much more powerful than dot notation. They allow any property names and variables. But they are also more cumbersome to write.
216
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
217
205
218
206
Ainsi, la plupart du temps, lorsque les noms de propriété sont connus et simples, le point est utilisé. Et si nous avons besoin de quelque chose de plus complexe, nous passons aux crochets.
219
207
220
208
## Valeur de propriété abrégée (Property value shorthand)
221
209
222
-
<<<<<<< HEAD
223
-
Dans le code, nous utilisons souvent des variables existantes en tant que valeurs pour les noms de propriétés.
224
-
=======
225
-
In real code, we often use existing variables as values for property names.
226
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
210
+
Dans du code réel, nous utilisons souvent des variables existantes en tant que valeurs pour les noms de propriétés.
227
211
228
212
Par exemple :
229
213
@@ -269,13 +253,7 @@ let user = {
269
253
270
254
Comme nous le savons déjà, une variable ne peut pas avoir un nom égal à l'un des mots réservés au language comme "for", "let", "return" etc.
271
255
272
-
<<<<<<< HEAD
273
256
Mais pour une propriété d'objet, il n'y a pas de telle restriction :
274
-
=======
275
-
As we already know, a variable cannot have a name equal to one of the language-reserved words like "for", "let", "return" etc.
276
-
277
-
But for an object property, there's no such restriction:
278
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
279
257
280
258
```js run
281
259
// these properties are all right
@@ -347,11 +325,7 @@ alert( "blabla" in user ); // false, user.blabla n'existe pas
347
325
348
326
Veuillez noter que sur le côté gauche de `in`, il doit y avoir un *nom de propriété*. C’est généralement une chaîne de caractères entre guillemets.
349
327
350
-
<<<<<<< HEAD
351
-
Si nous omettons les guillemets, cela signifie une variable, elle doit contenir le nom réel à tester. Par exemple :
352
-
=======
353
-
If we omit quotes, that means a variable should contain the actual name to be tested. For instance:
354
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
328
+
Si nous omettons les guillemets, cela signifie qu'une variable doit contenir le nom réel à tester. Par exemple :
355
329
356
330
```js run
357
331
let user = { age:30 };
@@ -381,12 +355,8 @@ Dans le code ci-dessus, la propriété `obj.test` existe techniquement. Donc, l'
381
355
382
356
Des situations comme celle-ci se produisent très rarement, parce que `undefined` n'est généralement pas attribué. Nous utilisons principalement `null` pour les valeurs "inconnues" ou "vides". Ainsi, l'opérateur `in` est un invité exotique dans le code.
383
357
384
-
<<<<<<< HEAD
385
-
=======
386
-
## The "for..in" loop [#forin]
387
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
388
358
389
-
## La boucle "for..in"
359
+
## La boucle "for..in" [#forin]
390
360
391
361
Pour parcourir toutes les clés d'un objet, il existe une forme spéciale de boucle : `for..in`. C'est une chose complètement différente de la construction `for(;;)` que nous avons étudiée auparavant.
392
362
@@ -444,11 +414,7 @@ for(let code in codes) {
444
414
*/!*
445
415
```
446
416
447
-
<<<<<<< HEAD
448
417
L'objet peut être utilisé pour suggérer une liste d'options à l'utilisateur. Si nous créons un site principalement pour le public allemand, nous voulons probablement que `49` soit le premier.
449
-
=======
450
-
The object may be used to suggest a list of options to the user. If we're making a site mainly for a German audience then we probably want `49` to be the first.
451
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
452
418
453
419
Mais si nous exécutons ce code, nous voyons une image totalement différente :
454
420
@@ -460,24 +426,14 @@ Les indicatifs de téléphone sont classés par ordre croissant, car ce sont des
460
426
````smart header="Propriétés entier (integer properties) ? Qu'est-ce que c'est ?"
461
427
Le terme "propriété entier" (integer properties) désigne ici une chaîne de caractères pouvant être convertie en un entier à partir de-et-sans modification.
462
428
463
-
<<<<<<< HEAD
464
-
Ainsi, "49" est un nom de propriété entier, parce que lorsqu'il est transformé en nombre entier et inversement, il reste identique. Mais "+49" et "1.2" ne le sont pas :
429
+
Ainsi, `"49"` est un nom de propriété entier, parce que lorsqu'il est transformé en nombre entier et inversement, il reste identique. Mais `"+49"` et `"1.2"` ne le sont pas :
465
430
466
431
```js run
432
+
// Number(...) convertit explicitement en nombre
467
433
// Math.trunc est une fonction intégrée qui supprime la partie décimale
alert( String(Math.trunc(Number("+49"))) ); // "49", pas pareil "+49" ⇒ pas une propriété entier (integer property)
470
-
alert( String(Math.trunc(Number("1.2"))) ); // "1", pas pareil "1.2" ⇒ pas une propriété entier (integer property)
471
-
=======
472
-
So, `"49"` is an integer property name, because when it's transformed to an integer number and back, it's still the same. But`"+49"` and `"1.2"` are not:
473
-
474
-
```js run
475
-
// Number(...) explicitly converts to a number
476
-
// Math.trunc is a built-in function that removes the decimal part
0 commit comments