Skip to content

Commit 3ea28cf

Browse files
authored
Merge pull request #173 from HachemiH/master
Conflicts fixed after sync with upstream @ fcfef6a
2 parents 4df2fdc + b00d6a2 commit 3ea28cf

File tree

4 files changed

+5
-49
lines changed

4 files changed

+5
-49
lines changed

1-js/04-object-basics/01-object/article.md

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

22
# Objets
33

4-
<<<<<<< HEAD
5-
Comme nous le savons du chapitre <info:types>, il existe sept types de données dans le langage JavaScript. Six d'entre elles sont appelées "primitives", car leurs valeurs ne contiennent qu'une seule chose (que ce soit une chaîne, un nombre ou autre).
6-
=======
7-
As we know from the chapter <info:types>, there are eight data types in JavaScript. Seven of them are called "primitive", because their values contain only a single thing (be it a string or a number or whatever).
8-
>>>>>>> fcfef6a07842ed56144e04a80c3a24de049a952a
4+
Comme nous le savons du chapitre <info:types>, il existe huit types de données dans le langage JavaScript. Sept d'entre elles sont appelées "primitives", car leurs valeurs ne contiennent qu'une seule chose (que ce soit une chaîne, un nombre ou autre).
95

106
En revanche, les objets sont utilisés pour stocker des collections de données variées et d’entités plus complexes. En JavaScript, les objets pénètrent dans presque tous les aspects du langage. Nous devons donc d'abord les comprendre avant d'aller plus loin.
117

1-js/05-data-types/06-iterable/article.md

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11

22
# Iterables
33

4-
<<<<<<< HEAD
54
Les objets *Iterable* sont une généralisation des tableaux. C'est un concept qui permet de rendre n'importe quel objet utilisable dans une boucle `for..of`.
6-
=======
7-
*Iterable* objects is a generalization of arrays. That's a concept that allows us to make any object useable in a `for..of` loop.
8-
>>>>>>> fcfef6a07842ed56144e04a80c3a24de049a952a
95

106
Bien sûr, les tableaux sont itérables. Mais il existe de nombreux autres objets intégrés, qui sont également itérables. Par exemple, les chaînes de caractères sont également itérables.
117

@@ -228,20 +224,12 @@ let arr = Array.from(range);
228224
alert(arr); // 1,2,3,4,5 (array toString conversion fonctionne)
229225
```
230226

231-
<<<<<<< HEAD
232-
La syntaxe complète de `Array.from` permet de fournir une fonction optionnelle de "mapping":
233-
=======
234-
The full syntax for `Array.from` also allows us to provide an optional "mapping" function:
235-
>>>>>>> fcfef6a07842ed56144e04a80c3a24de049a952a
227+
La syntaxe complète de `Array.from` permet aussi de fournir une fonction optionnelle de "mapping":
236228
```js
237229
Array.from(obj[, mapFn, thisArg])
238230
```
239231

240-
<<<<<<< HEAD
241-
Le second argument `mapFn` peut être une fonction à appliquer à chaque élément avant de l'ajouter au tableau, et `thisArg` permet de définir le `this`.
242-
=======
243-
The optional second argument `mapFn` can be a function that will be applied to each element before adding it to the array, and `thisArg` allows us to set `this` for it.
244-
>>>>>>> fcfef6a07842ed56144e04a80c3a24de049a952a
232+
Le second argument `mapFn` peut être une fonction à appliquer à chaque élément avant de l'ajouter au tableau, et `thisArg` permet d'en définir le `this`.
245233

246234
Par exemple:
247235

1-js/05-data-types/11-date/article.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -125,13 +125,8 @@ Outre les méthodes indiquées, il existe deux méthodes spéciales qui ne poss
125125
[getTime()](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Date/getTime)
126126
: Renvoie l'horodatage de la date - nombre de millisecondes écoulées à partir du 1er janvier 1970 UTC + 0.
127127

128-
<<<<<<< HEAD
129-
[getTimezoneOffset()](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Date/getTimezoneOffset)
130-
: Renvoie la différence entre le fuseau horaire local et l'heure UTC, en minutes:
131-
=======
132128
[getTimezoneOffset()](mdn:js/Date/getTimezoneOffset)
133-
: Returns the difference between UTC and the local time zone, in minutes:
134-
>>>>>>> fcfef6a07842ed56144e04a80c3a24de049a952a
129+
: Renvoie la différence entre le fuseau horaire local et l'heure UTC, en minutes :
135130

136131
```js run
137132
// si vous êtes dans le fuseau horaire UTC-1, génère 60

1-js/12-generators-iterators/2-async-iterators-generators/article.md

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,6 @@
22

33
Les itérateurs asynchrones permettent d'itérer sur des données qui arrivent de manière asynchrone, à la demande. Par exemple, quand nous téléchargeons quelque chose morceau par morceau sur un réseau. Les générateurs asynchrones rendent cela encore plus pratique.
44

5-
<<<<<<< HEAD
6-
Voyons d'abord un exemple simple, pour comprendre la syntaxe, puis examinons un cas d'utilisation réel.
7-
=======
8-
Asynchronous iterators allow us to iterate over data that comes asynchronously, on-demand. Like, for instance, when we download something chunk-by-chunk over a network. And asynchronous generators make it even more convenient.
9-
>>>>>>> fcfef6a07842ed56144e04a80c3a24de049a952a
105

116
## Itérateurs asynchrones
127

@@ -52,17 +47,10 @@ for(let value of range) {
5247

5348
Cette partie à déjà été aborder en détail dans le [chapitre sur les iterables](info:iterable).
5449

55-
<<<<<<< HEAD
5650
Pour rendre l'objet itérable asynchrone :
5751
1. Nous devons utiliser `Symbol.asyncIterator` au lieu de `Symbol.iterator`.
5852
2. `next()` doit retourner une promesse.
5953
3. Pour itérer sur un tel objet, nous devrons utiliser une boucle `for await (let item of iterable)`.
60-
=======
61-
To make the object iterable asynchronously:
62-
1. We need to use `Symbol.asyncIterator` instead of `Symbol.iterator`.
63-
2. `next()` should return a promise.
64-
3. To iterate over such an object, we should use a `for await (let item of iterable)` loop.
65-
>>>>>>> fcfef6a07842ed56144e04a80c3a24de049a952a
6654

6755
Faisons un objet `range` itérable, comme celui d'avant, mais maintenant il retournera des valeurs de façon asynchrone, une par seconde :
6856

@@ -117,17 +105,10 @@ let range = {
117105

118106
Nous pouvons observer que la structure est similaire aux itérateurs réguliers :
119107

120-
<<<<<<< HEAD
121108
1. Pour rendre un objet itérable, asynchrone, il doit avoir une méthode `Symbol.asyncIterator` `(1)`.
122109
2. Cette méthode doit retourner l'objet avec la méthode `next()` retournant une promesse `(2)`.
123110
3. La méthode `next()` n'a pas besoin d'être `async`, elle peut être une méthode normale retournant une promesse, mais `async` permet d'utiliser `await`, donc c'est pratique. Ici, nous ne faisons qu'attendre une seconde `(3)`.
124-
4. Pour itérer, nous utilisons `for await(let value of range)`(4)`, c'est-à-dire que nous ajoutons "await" après "for". Il appelle `range[Symbol.asyncIterator]()` une fois, et ensuite son `next()` pour chaque valeur.
125-
=======
126-
1. To make an object asynchronously iterable, it must have a method `Symbol.asyncIterator` `(1)`.
127-
2. This method must return the object with `next()` method returning a promise `(2)`.
128-
3. The `next()` method doesn't have to be `async`, it may be a regular method returning a promise, but `async` allows us to use `await`, so that's convenient. Here we just delay for a second `(3)`.
129-
4. To iterate, we use `for await(let value of range)` `(4)`, namely add "await" after "for". It calls `range[Symbol.asyncIterator]()` once, and then its `next()` for values.
130-
>>>>>>> fcfef6a07842ed56144e04a80c3a24de049a952a
111+
4. Pour itérer, nous utilisons `for await(let value of range)` `(4)`, c'est-à-dire que nous ajoutons "await" après "for". Il appelle `range[Symbol.asyncIterator]()` une fois, et ensuite son `next()` pour chaque valeur.
131112

132113
Voici une petite antisèche :
133114

@@ -283,11 +264,7 @@ Maintenant, une valeur arrive chaque seconde.
283264
284265
Jusqu'à présent, nous avons vu des exemples simples, pour acquérir une compréhension de base. Maintenant, passons en revue un cas d'utilisation réel.
285266
286-
<<<<<<< HEAD
287267
Il existe de nombreux services en ligne qui fournissent des données par page. Par exemple, lorsque nous avons besoin d'une liste d'utilisateurs, le serveur nous répond avec un compte prédéfini (par exemple 100 utilisateurs) - "une page", et fournit une URL vers la page suivante.
288-
=======
289-
This pattern is very common. It's not about users, but just about anything. For instance, GitHub allows us to retrieve commits in the same, paginated fashion:
290-
>>>>>>> fcfef6a07842ed56144e04a80c3a24de049a952a
291268
292269
Ce modèle est très courant. Pas seulement pour des listes d'utilisateurs, mais de n'importe quoi. Par exemple, GitHub permet de récupérer les commits de la même manière, par page :
293270
- Nous faisons une requête à l'URL sous la forme `https://api.github.com/repos/<repo>/commits`.

0 commit comments

Comments
 (0)