Skip to content

Commit 7552ed0

Browse files
authored
Merge pull request #320 from HachemiH/master
Conflicts fixed after sync with upstream @ 4d01fc2
2 parents df81c6e + dfdab3b commit 7552ed0

File tree

17 files changed

+60
-331
lines changed

17 files changed

+60
-331
lines changed

1-js/02-first-steps/04-variables/article.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,7 @@ Maintenant, nous pouvons y mettre des données en utilisant l'opérateur d'affec
2424
let message;
2525

2626
*!*
27-
<<<<<<< HEAD
28-
message = 'Hello'; // stocke la chaîne de caractères
29-
=======
30-
message = 'Hello'; // store the string 'Hello' in the variable named message
31-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
27+
message = 'Hello'; // stocke la chaîne de caractères 'Hello' dans la variable nommée message
3228
*/!*
3329
```
3430

1-js/02-first-steps/13-while-for/article.md

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -104,21 +104,12 @@ for (let i = 0; i < 3; i++) { // affiche 0, puis 1, puis 2
104104

105105
Examinons la déclaration `for` partie par partie :
106106

107-
<<<<<<< HEAD
108107
| partie | | |
109108
|-----------|------------|----------------------------------------------------------------------------------------|
110-
| début | `i = 0` | Exécute une fois en entrant dans la boucle. |
109+
| début | `let i = 0` | Exécute une fois en entrant dans la boucle. |
111110
| condition | `i < 3` | Vérifié avant chaque itération de la boucle, en cas d'échec, la boucle s'arrête. |
112111
| corps | `alert(i)` | Exécute encore et encore tant que la condition est vraie |
113-
| étape | `i++` | Exécute après le corps à chaque itération, mais avant la vérification de la condition. |
114-
=======
115-
| part | | |
116-
|-------|----------|----------------------------------------------------------------------------|
117-
| begin | `let i = 0` | Executes once upon entering the loop. |
118-
| condition | `i < 3`| Checked before every loop iteration. If false, the loop stops. |
119-
| body | `alert(i)`| Runs again and again while the condition is truthy. |
120-
| step| `i++` | Executes after the body on each iteration. |
121-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
112+
| étape | `i++` | Exécute après le corps à chaque itération |
122113

123114

124115
L'algorithme de boucle général fonctionne comme ceci :
@@ -390,11 +381,7 @@ label: {
390381
}
391382
```
392383
393-
<<<<<<< HEAD
394384
... Bien que 99,9% du temps les `break` utilisés sont à l'intérieur de boucles, comme nous l'avons vu dans les exemples ci-dessus.
395-
=======
396-
...Although, 99.9% of the time `break` is used inside loops, as we've seen in the examples above.
397-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
398385
399386
Un `continue` n'est possible que depuis l'intérieur d'une boucle.
400387
````

1-js/02-first-steps/15-function-basics/article.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -182,11 +182,7 @@ En d'autres termes, pour mettre ces termes au clair :
182182
183183
Nous déclarons des fonctions en listant leurs paramètres, puis les appelons en passant des arguments.
184184
185-
<<<<<<< HEAD
186-
Dans l'exemple ci-dessus, on pourrait dire : "la fonction `sayMessage` est déclarée avec deux paramètres, puis appelée avec deux arguments : `from` et `"Hello"`".
187-
=======
188-
In the example above, one might say: "the function `showMessage` is declared with two parameters, then called with two arguments: `from` and `"Hello"`".
189-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
185+
Dans l'exemple ci-dessus, on pourrait dire : "la fonction `showMessage` est déclarée avec deux paramètres, puis appelée avec deux arguments : `from` et `"Hello"`".
190186
191187
192188
## Les valeurs par défaut

1-js/04-object-basics/06-constructor-new/1-two-functions-one-object/task.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,7 @@ importance: 2
44

55
# Deux fonctions - un objet
66

7-
<<<<<<< HEAD
8-
Est-il possible de créer des fonctions `A` et `B` tel que `new A()==new B()` ?
9-
=======
10-
Is it possible to create functions `A` and `B` so that `new A() == new B()`?
11-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
7+
Est-il possible de créer des fonctions `A` et `B` tel que `new A() == new B()` ?
128

139
```js no-beautify
1410
function A() { ... }

1-js/05-data-types/02-number/article.md

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,7 @@ En JavaScript moderne, il existe deux types de nombres :
44

55
1. Les nombres normaux en JavaScript sont stockés au format 64 bits [IEEE-754](https://en.wikipedia.org/wiki/IEEE_754-2008_revision), également connu sous le nom de "nombres à virgule flottante double précision". Ce sont des chiffres que nous utilisons le plus souvent, et nous en parlerons dans ce chapitre.
66

7-
<<<<<<< HEAD
8-
2. Les nombres BigInt pour représenter des entiers de longueur arbitraire. Ils sont parfois nécessaires, car un nombre régulier ne peut pas dépasser <code>2<sup>53</sup></code> ou être inférieur à <code>-2<sup>53</sup></code>. Comme les bigints sont utilisés dans quelques zones spéciales, nous leur consacrons un chapitre spécial <info:bigint>.
9-
=======
10-
2. BigInt numbers, to represent integers of arbitrary length. They are sometimes needed, because a regular number can't safely exceed <code>2<sup>53</sup></code> or be less than <code>-2<sup>53</sup></code>. As bigints are used in few special areas, we devote them a special chapter <info:bigint>.
11-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
7+
2. Les nombres BigInt pour représenter des entiers de longueur arbitraire. Ils sont parfois nécessaires, car un nombre régulier ne peut pas dépasser de manière précise <code>2<sup>53</sup></code> ou être inférieur à <code>-2<sup>53</sup></code>. Comme les bigints sont utilisés dans quelques zones spéciales, nous leur consacrons un chapitre spécial <info:bigint>.
128

139
Donc, ici, nous allons parler de chiffres réguliers. Augmentons nos connaissances à leur sujet.
1410

@@ -58,11 +54,7 @@ Comme avant, l'utilisation de `"e"` peut nous aider. Si nous voulons éviter d'
5854
let ms = 1e-6; // six zéros à gauche de 1
5955
```
6056

61-
<<<<<<< HEAD
62-
Si nous comptons les zéros dans `0.000001`, il y en a 6. Alors, logiquement, c'est `1e-6`.
63-
=======
64-
If we count the zeroes in `0.000001`, there are 6 of them. So naturally it's `1e-6`.
65-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
57+
Si nous comptons les zéros dans `0.000001`, il y en a 6. Donc logiquement, c'est `1e-6`.
6658

6759
En d'autres termes, un nombre négatif après `"e"` signifie une division par 1 avec le nombre donné de zéros:
6860

@@ -339,11 +331,7 @@ let num = +prompt("Entrez un nombre", '');
339331
alert( isFinite(num) );
340332
```
341333
342-
<<<<<<< HEAD
343334
Veuillez noter qu'une chaîne de caractères vide ou une chaîne de caractères contenant seulement un espace est traitée comme `0` dans toutes les fonctions numérique, y compris `isFinite`.
344-
=======
345-
Please note that an empty or a space-only string is treated as `0` in all numeric functions including `isFinite`.
346-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
347335
348336
```smart header="Comparer avec Object.is"
349337

1-js/05-data-types/09-keys-values-entries/article.md

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -75,15 +75,9 @@ Les objets manquent de nombreuses méthodes existantes pour les tableaux, par ex
7575

7676
Si nous souhaitons leur appliquer ces méthodes, nous pouvons utiliser `Object.entries` suivis par `Object.fromEntries` :
7777

78-
<<<<<<< HEAD
7978
1. Utilisons `Object.entries(obj)` pour obtenir un tableau de paires clé / valeur de `obj`.
80-
2. Utilisons des méthodes de tableau sur ce tableau, par exemple `map`.
79+
2. Utilisons des méthodes de tableau sur ce tableau, par exemple `map`, pour transformer ces paires clé / valeur.
8180
3. Utilisons `Object.fromEntries(array)` sur le tableau résultant pour le reconvertir en objet.
82-
=======
83-
1. Use `Object.entries(obj)` to get an array of key/value pairs from `obj`.
84-
2. Use array methods on that array, e.g. `map`, to transform these key/value pairs.
85-
3. Use `Object.fromEntries(array)` on the resulting array to turn it back into an object.
86-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
8781

8882
Par exemple, nous avons un objet avec des prix et aimerions les doubler :
8983

@@ -96,22 +90,13 @@ let prices = {
9690

9791
*!*
9892
let doublePrices = Object.fromEntries(
99-
<<<<<<< HEAD
100-
// convertir en tableau, mapper, puis fromEntries restitue l'objet
101-
Object.entries(prices).map(([key, value]) => [key, value * 2])
102-
=======
103-
// convert prices to array, map each key/value pair into another pair
104-
// and then fromEntries gives back the object
93+
// convertir les prix en tableau, mapper chaque paire clé / valeur dans une autre paire
94+
// puis fromEntries restitue l'objet
10595
Object.entries(prices).map(entry => [entry[0], entry[1] * 2])
106-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
10796
);
10897
*/!*
10998

11099
alert(doublePrices.meat); // 8
111100
```
112101

113-
<<<<<<< HEAD
114-
Cela peut sembler difficile au premier abord, mais il devient facile à comprendre après l’avoir utilisé une ou deux fois. Nous pouvons faire de puissantes chaînes de transformations de cette façon.
115-
=======
116-
It may look difficult at first sight, but becomes easy to understand after you use it once or twice. We can make powerful chains of transforms this way.
117-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
102+
Cela peut sembler difficile au premier abord, mais cela devient facile à comprendre après l’avoir utilisé une ou deux fois. Nous pouvons faire de puissantes chaînes de transformations de cette façon.

1-js/06-advanced-functions/04-var/article.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,7 @@
44
```smart header="Cet article est pour comprendre les anciens scripts"
55
Les informations contenues dans cet article sont utiles pour comprendre les anciens scripts.
66
7-
<<<<<<< HEAD
8-
Ce n'est pas ainsi que nous écrivons un nouveau code.
9-
=======
10-
That's not how we write new code.
11-
>>>>>>> 4d01fc20d4d82358e61518a31efe80dec9bb2602
7+
Ce n'est pas ainsi que nous écrivons du nouveau code.
128
```
139

1410
Dans le tout premier chapitre qui parle des [variables](info:variables), nous avons mentionné trois façons pour déclarer une variable :

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)