Skip to content

Commit 1ef1a91

Browse files
committed
Conflicts fixed on 'Property flags and descriptors' page in french
language
1 parent b7e5468 commit 1ef1a91

File tree

1 file changed

+7
-61
lines changed
  • 1-js/07-object-properties/01-property-descriptors

1 file changed

+7
-61
lines changed

1-js/07-object-properties/01-property-descriptors/article.md

Lines changed: 7 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,7 @@ Nous ne les avons pas encore vues, car généralement elles ne se présentent pa
1919

2020
Voyons d’abord comment obtenir ces "flags".
2121

22-
<<<<<<< HEAD
23-
La methode [Object.getOwnPropertyDescriptor](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/getOwnPropertyDescriptor) permet d'interroger les informations *complètes* sur une propriété.
24-
=======
25-
The method [Object.getOwnPropertyDescriptor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor) allows to query the *full* information about a property.
26-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
22+
La methode [Object.getOwnPropertyDescriptor](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/getOwnPropertyDescriptor) permet d'interroger les informations *complètes* à propos d'une propriété.
2723

2824
La syntaxe est la suivante:
2925
```js
@@ -58,11 +54,7 @@ alert( JSON.stringify(descriptor, null, 2 ) );
5854
*/
5955
```
6056

61-
<<<<<<< HEAD
6257
Pour changer les attributs, on peut utiliser [Object.defineProperty](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/defineProperty).
63-
=======
64-
To change the flags, we can use [Object.defineProperty](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty).
65-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
6658

6759
La syntaxe est la suivante:
6860

@@ -202,11 +194,7 @@ alert(Object.keys(user)); // name
202194

203195
Le descripteur non configurable (`configurable: false`) est parfois prédéfini pour les objets et propriétés intégrés.
204196

205-
<<<<<<< HEAD
206-
Une propriété non configurable ne peut pas être supprimée.
207-
=======
208-
A non-configurable property can't be deleted, its attributes can't be modified.
209-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
197+
Une propriété non configurable ne peut pas être supprimée, ses attributs ne peuvent pas être modifiés.
210198

211199
Par exemple, `Math.PI` est en lecture seule, non énumérable et non configurable :
212200

@@ -231,30 +219,18 @@ Math.PI = 3; // Error, because it has writable: false
231219
// supprimer Math.PI ne fonctionnera pas non plus
232220
```
233221

234-
<<<<<<< HEAD
235-
Rendre une propriété non configurable est une route à sens unique. Nous ne pouvons pas la rétablir avec `defineProperty`.
236-
237-
Pour être précis, la non-configurabilité impose plusieurs restrictions à `defineProperty` :
238-
1. Impossible de changer le flag `configurable`.
239-
2. Impossible de changer le drapeau `enumerable`.
240-
3. Impossible de changer `writable: false` à `true` (l'inverse fonctionne).
241-
4. Impossible de changer `get/set` pour une propriété d'accesseur (mais peut les affecter en cas d'absence).
242-
243-
**L'idée de "configurable : false" est d'empêcher les changements d'indicateurs de propriété et sa suppression, tout en permettant de changer sa valeur.**
244-
=======
245-
We also can't change `Math.PI` to be `writable` again:
222+
Nous ne pouvons pas non plus changer `Math.PI` pour qu'il soit à nouveau `writable` (éditable) :
246223

247224
```js run
248-
// Error, because of configurable: false
225+
// Error, parce que configurable: false
249226
Object.defineProperty(Math, "PI", { writable: true });
250227
```
251228

252-
There's absolutely nothing we can do with `Math.PI`.
229+
Il n'y a absolument rien que nous puissions faire avec `Math.PI`.
253230

254-
Making a property non-configurable is a one-way road. We cannot change it back with `defineProperty`.
231+
Rendre une propriété non configurable est une voie à sens unique. Nous ne pouvons pas le modifier avec `defineProperty`.
255232

256-
**Please note: `configurable: false` prevents changes of property flags and its deletion, while allowing to change its value.**
257-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
233+
**Veuillez noter : `configurable: false` empêche les changements d'indicateurs de propriété et sa suppression, tout en permettant de changer sa valeur.**
258234

259235
Ici, `user.name` n'est pas configurable, mais nous pouvons toujours le changer (car il est accessible en écriture) :
260236

@@ -298,11 +274,7 @@ We can change `writable: true` to `false` for a non-configurable property, thus
298274

299275
## Object.defineProperties
300276

301-
<<<<<<< HEAD
302277
Il y a une méthode [Object.defineProperties(obj, descriptors)](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/defineProperties) qui permet de définir plusieurs propriétés à la fois.
303-
=======
304-
There's a method [Object.defineProperties(obj, descriptors)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperties) that allows to define many properties at once.
305-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
306278

307279
La syntaxe est la suivante:
308280

@@ -328,11 +300,7 @@ Nous pouvons donc définir plusieurs propriétés à la fois.
328300

329301
## Object.getOwnPropertyDescriptors
330302

331-
<<<<<<< HEAD
332303
Pour obtenir tous les descripteurs de propriété à la fois, nous pouvons utiliser la méthode [Object.getOwnPropertyDescriptors(obj)](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/getOwnPropertyDescriptors).
333-
=======
334-
To get all property descriptors at once, we can use the method [Object.getOwnPropertyDescriptors(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptors).
335-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
336304

337305
Avec `Object.defineProperties`, elle peut être utilisé comme moyen de cloner un objet conscient des attributs:
338306

@@ -358,7 +326,6 @@ Les descripteurs de propriété fonctionnent au niveau des propriétés individu
358326

359327
Il existe également des méthodes qui limitent l'accès à l'objet *entier*:
360328

361-
<<<<<<< HEAD
362329
[Object.preventExtensions(obj)](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/preventExtensions)
363330
: Interdit l'ajout de nouvelles propriétés à l'objet.
364331

@@ -367,20 +334,9 @@ Il existe également des méthodes qui limitent l'accès à l'objet *entier*:
367334

368335
[Object.freeze(obj)](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/freeze)
369336
: Interdit l'ajout/la suppression/la modification de propriétés. Définit `configurable: false, writeable: false` pour toutes les propriétés existantes.
370-
=======
371-
[Object.preventExtensions(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/preventExtensions)
372-
: Forbids the addition of new properties to the object.
373-
374-
[Object.seal(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/seal)
375-
: Forbids adding/removing of properties. Sets `configurable: false` for all existing properties.
376-
377-
[Object.freeze(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze)
378-
: Forbids adding/removing/changing of properties. Sets `configurable: false, writable: false` for all existing properties.
379-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
380337

381338
Et aussi il y a des tests pour eux:
382339

383-
<<<<<<< HEAD
384340
[Object.isExtensible(obj)](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/isExtensible)
385341
: Retourne `false` si l'ajout de propriétés est interdit, sinon `true`.
386342

@@ -389,15 +345,5 @@ Et aussi il y a des tests pour eux:
389345

390346
[Object.isFrozen(obj)](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/isFrozen)
391347
: Retourne `true` si l'ajout/la suppression/la modification de propriétés est interdite et si toutes les propriétés actuelles sont `configurable: false, writable: false`.
392-
=======
393-
[Object.isExtensible(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible)
394-
: Returns `false` if adding properties is forbidden, otherwise `true`.
395-
396-
[Object.isSealed(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed)
397-
: Returns `true` if adding/removing properties is forbidden, and all existing properties have `configurable: false`.
398-
399-
[Object.isFrozen(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen)
400-
: Returns `true` if adding/removing/changing properties is forbidden, and all current properties are `configurable: false, writable: false`.
401-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
402348

403349
Ces méthodes sont rarement utilisées dans la pratique.

0 commit comments

Comments
 (0)