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/02-number/article.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -335,33 +335,33 @@ alert( isFinite(num) );
335
335
336
336
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`.
[Number.isNaN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN) and [Number.isFinite](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite) methods are the more "strict" versions of`isNaN`and`isFinite` functions. They do not autoconvert their argument into a number, but check if it belongs to the `number` type instead.
Les méthodes [Number.isNaN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN) et [Number.isFinite](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite) sont des versions plus "strictes" des fonctions`isNaN`et`isFinite`. Elles ne convertissent pas automatiquement leur argument en nombre, mais vérifient s'il appartient au type `number`.
340
340
341
-
- `Number.isNaN(value)`returns`true`if the argument belongs to the`number`type and it is `NaN`. In any other case it returns`false`.
341
+
- `Number.isNaN(value)`retourne`true`si l'argument appartient au type`number`et s'il vaut `NaN`. Dans tous les autres cas, elle retourne`false`.
342
342
343
343
```js run
344
344
alert( Number.isNaN(NaN) ); // true
345
345
alert( Number.isNaN("str"/2) ); // true
346
346
347
-
//Note the difference:
348
-
alert( Number.isNaN("str") ); // false, because "str" belongs to the string type, not the number type
349
-
alert( isNaN("str") ); // true, because isNaN converts string "str" into a number and gets NaN as a result of this conversion
347
+
//Notez la différence :
348
+
alert( Number.isNaN("str") ); // false, car "str" est de type "string"
349
+
alert( isNaN("str") ); // true, car isNaN convertit la string "str" en un nombre et obtient NaN comme résultatde la conversion
350
350
```
351
351
352
-
- `Number.isFinite(value)`returns`true`if the argument belongs to the`number`type and it is not `NaN/Infinity/-Infinity`. In any other case it returns`false`.
352
+
- `Number.isFinite(value)`retourne`true`si l'argument appartient au type`number`et s'il vaut ni `NaN`, ni `Infinity`, ni `-Infinity`. Dans tous les autres cas, elle retourne`false`.
353
353
354
354
```js run
355
355
alert( Number.isFinite(123) ); // true
356
356
alert( Number.isFinite(Infinity) ); // false
357
357
alert( Number.isFinite(2/0) ); // false
358
358
359
-
//Note the difference:
360
-
alert( Number.isFinite("123") ); // false, because "123" belongs to the string type, not the number type
361
-
alert( isFinite("123") ); // true, because isFinite converts string "123" into a number 123
359
+
//Notez la différence :
360
+
alert( Number.isFinite("123") ); // false, car "123" est de type "string"
361
+
alert( isFinite("123") ); // true, car isFinite convertit la string "123" en un nombre 123
362
362
```
363
363
364
-
In a way, `Number.isNaN`and`Number.isFinite`are simpler and more straightforward than `isNaN`and`isFinite` functions. In practice though,`isNaN`and`isFinite`are mostly used, as they're shorter to write.
364
+
En quelque sorte, les fonction `Number.isNaN`et`Number.isFinite`sont plus simples et plus directes que les fonctions `isNaN`et`isFinite`. Cependant, en pratique`isNaN`et`isFinite`sont plus souvent utilisées car elles sont plus courtes à écrire.
## Object.entries: Créer une Map à partir d'un objet
156
156
157
-
When a `Map` is created, we can pass an array (or another iterable) with key/value pairs for initialization, like this:
157
+
Lorsqu'une `Map` est créée, nous pouvons passer un tableau (ou un autre itérable) contenant des paires clé/valeur pour l'initialisation, comme ceci :
158
158
159
159
```js run
160
-
// array of [key, value] pairs
160
+
// tableau de paires [clé, valeur]
161
161
let map = new Map([
162
162
['1', 'str1'],
163
163
[1, 'num1'],
@@ -167,9 +167,9 @@ let map = new Map([
167
167
alert( map.get('1') ); // str1
168
168
```
169
169
170
-
If we have a plain object, and we'd like to create a `Map` from it, then we can use built-in method [Object.entries(obj)](mdn:js/Object/entries) that returns an array of key/value pairs for an object exactly in that format.
170
+
Si nous avons un objet simple et que nous souhaitons en créer une `Map`, nous pouvons utiliser la méthode intégrée [Object.entries(obj)](mdn:js/Object/entries) qui renvoie un tableau de paires clé/valeur pour un objet exactement dans ce format.
171
171
172
-
So we can create a map from an object like this:
172
+
Nous pouvons donc créer une `Map` à partir d'un objet de la manière suivante :
173
173
174
174
```js run
175
175
let obj = {
@@ -184,14 +184,13 @@ let map = new Map(Object.entries(obj));
184
184
alert( map.get('name') ); // John
185
185
```
186
186
187
-
Here, `Object.entries` returns the array of key/value pairs: `[ ["name","John"], ["age", 30] ]`. That's what `Map` needs.
187
+
Ici, `Object.entries` renvoie le tableau de paires clé/valeur : `[ ["name","John"], ["age", 30] ]`. C'est ce dont a besoin la `Map`.
188
188
189
+
## Object.fromEntries: Objet à partir d'une Map
189
190
190
-
## Object.fromEntries: Object from Map
191
+
Nous venons de voir comment créer une `Map` à partir d'un objet simple avec `Object.entries(obj)`.
191
192
192
-
We've just seen how to create `Map` from a plain object with `Object.entries(obj)`.
193
-
194
-
There's `Object.fromEntries` method that does the reverse: given an array of `[key, value]` pairs, it creates an object from them:
193
+
Il existe une méthode `Object.fromEntries` qui fait l'inverse : étant donné un tableau de paires `[clé, valeur]`, elle crée un objet à partir de ces paires :
195
194
196
195
```js run
197
196
let prices = Object.fromEntries([
@@ -200,16 +199,16 @@ let prices = Object.fromEntries([
We can use `Object.fromEntries` to get a plain object from `Map`.
207
+
Nous pouvons utiliser `Object.fromEntries` pour obtenir un objet simple à partir d'une `Map`.
209
208
210
-
E.g. we store the data in a `Map`, but we need to pass it to a 3rd-party code that expects a plain object.
209
+
Par exemple, nous stockons les données dans une `Map`, mais nous devons les transmettre à un code tiers qui attend un objet simple.
211
210
212
-
Here we go:
211
+
Voici comment procéder :
213
212
214
213
```js run
215
214
let map = new Map();
@@ -218,23 +217,24 @@ map.set('orange', 2);
218
217
map.set('meat', 4);
219
218
220
219
*!*
221
-
let obj = Object.fromEntries(map.entries()); // make a plain object (*)
220
+
let obj = Object.fromEntries(map.entries()); // créer un objet simple (*)
222
221
*/!*
223
222
224
-
// done!
223
+
// terminé!
225
224
// obj = { banana: 1, orange: 2, meat: 4 }
226
225
227
226
alert(obj.orange); // 2
228
227
```
229
228
230
-
A call to `map.entries()` returns an iterable of key/value pairs, exactly in the right format for `Object.fromEntries`.
229
+
Un appel à `map.entries()` renvoie un itérable de paires clé/valeur, exactement dans le bon format pour `Object.fromEntries`.
230
+
231
+
Nous pourrions également raccourcir la ligne (*) :
231
232
232
-
We could also make line `(*)` shorter:
233
233
```js
234
-
let obj = Object.fromEntries(map); // omit .entries()
234
+
let obj = Object.fromEntries(map); // .entries() omis
235
235
```
236
236
237
-
That's the same, because `Object.fromEntries` expects an iterable object as the argument. Not necessarily an array. And the standard iteration for `map` returns same key/value pairs as `map.entries()`. So we get a plain object with same key/values as the `map`.
237
+
C'est la même chose, car `Object.fromEntries` attend un objet itérable en argument. Pas nécessairement un tableau. Et l'itération standard pour une `map` renvoie les mêmes paires clé/valeur que `map.entries()`. Ainsi, nous obtenons un objet simple avec les mêmes clés/valeurs que la `map`.
0 commit comments