Skip to content

Commit 1899a40

Browse files
committed
Conflicts fixed on "Nullish coalescing operator '??'" page in french
language
1 parent 68d41c1 commit 1899a40

File tree

1 file changed

+13
-63
lines changed
  • 1-js/02-first-steps/12-nullish-coalescing-operator

1 file changed

+13
-63
lines changed

1-js/02-first-steps/12-nullish-coalescing-operator/article.md

Lines changed: 13 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,17 @@
22

33
[recent browser="new"]
44

5-
<<<<<<< HEAD
6-
Ici, dans cet article, nous dirons qu'une expression est `defined` lorsqu'elle n'est ni `null` ni `undefined`.
75

86
L'opérateur de coalescence des nuls est écrit sous la forme de deux points d'interrogation `??`.
97

8+
Comme il traite `null` et `undefined` de la même manière, nous utiliserons un terme spécial ici, dans cet article. Nous dirons qu'une expression est "définie" lorsqu'elle n'est ni `null` ni `undefined`.
9+
1010
Le résultat de `a ?? b` est :
1111
- si `a` est défini, alors `a`,
1212
- si `a` n'est pas défini, alors `b`.
1313

1414

1515
En d'autres termes, `??` renvoie le premier argument s'il n'est pas `nul/undefined`. Sinon, le second.
16-
=======
17-
The nullish coalescing operator is written as two question marks `??`.
18-
19-
As it treats `null` and `undefined` similarly, we'll use a special term here, in this article. We'll say that an expression is "defined" when it's neither `null` nor `undefined`.
20-
21-
The result of `a ?? b` is:
22-
- if `a` is defined, then `a`,
23-
- if `a` isn't defined, then `b`.
24-
25-
In other words, `??` returns the first argument if it's not `null/undefined`. Otherwise, the second one.
26-
>>>>>>> 7533c719fbf62ba57188d6d51fe4c038b282bd0c
2716

2817
L'opérateur de coalescence des nuls n'est pas complètement nouveau. C'est juste une belle syntaxe pour obtenir la première valeur "defined" des deux.
2918

@@ -33,29 +22,19 @@ Nous pouvons réécrire `result = a ?? b` en utilisant les opérateurs que nous
3322
result = (a !== null && a !== undefined) ? a : b;
3423
```
3524

36-
<<<<<<< HEAD
37-
Le cas d'utilisation courant de `??` est de fournir une valeur par défaut pour une variable potentiellement indéfinie.
38-
39-
Par exemple, ici nous montrons `Anonymous` si `user` n'est pas défini :
40-
=======
41-
Now it should be absolutely clear what `??` does. Let's see where it helps.
25+
Maintenant, il devrait être absolument clair ce que fait `??`. Voyons où cela aide.
4226

43-
The common use case for `??` is to provide a default value for a potentially undefined variable.
27+
Le cas d'utilisation courant de `??` est de fournir une valeur par défaut pour une variable potentiellement indéfinie.
4428

45-
For example, here we show `user` if defined, otherwise `Anonymous`:
46-
>>>>>>> 7533c719fbf62ba57188d6d51fe4c038b282bd0c
29+
Par exemple, ici nous affichons `user` s'il est défini, sinon `Anonymous` :
4730

4831
```js run
4932
let user;
5033

5134
alert(user ?? "Anonymous"); // Anonymous (user not defined)
5235
```
5336
54-
<<<<<<< HEAD
55-
Bien sûr, si `user` avait une valeur à l'exception de `null/undefined`, alors nous la verrions à la place :
56-
=======
57-
Here's the example with `user` assigned to a name:
58-
>>>>>>> 7533c719fbf62ba57188d6d51fe4c038b282bd0c
37+
Voici l'exemple avec `user` attribué à un nom :
5938
6039
```js run
6140
let user = "John";
@@ -65,15 +44,9 @@ alert(user ?? "Anonymous"); // John (user defined)
6544
6645
Nous pouvons également utiliser une séquence de `??` pour sélectionner la première valeur dans une liste qui n'est pas `null/undefined`.
6746
68-
<<<<<<< HEAD
6947
Disons que nous avons les données d'un utilisateur dans les variables `firstName`, `lastName` ou `nickName`. Tous peuvent être indéfinis, si l'utilisateur décide de ne pas entrer de valeur.
7048
7149
Nous aimerions afficher le nom d'utilisateur en utilisant l'une de ces variables, ou afficher "Anonymous" si toutes ne sont pas définies.
72-
=======
73-
Let's say we have a user's data in variables `firstName`, `lastName` or `nickName`. All of them may be not defined, if the user decided not to enter a value.
74-
75-
We'd like to display the user name using one of these variables, or show "Anonymous" if all of them aren't defined.
76-
>>>>>>> 7533c719fbf62ba57188d6d51fe4c038b282bd0c
7750
7851
Utilisons l'opérateur `??` pour cela :
7952
@@ -104,11 +77,7 @@ alert(firstName || lastName || nickName || "Anonymous"); // Supercoder
10477
*/!*
10578
```
10679
107-
<<<<<<< HEAD
108-
L'opérateur OR `||` existe depuis le début de JavaScript, donc les développeurs l'utilisaient à de telles fins depuis longtemps.
109-
=======
110-
Historically, the OR `||` operator was there first. It exists since the beginning of JavaScript, so developers were using it for such purposes for a long time.
111-
>>>>>>> 7533c719fbf62ba57188d6d51fe4c038b282bd0c
80+
Historiquement, l'opérateur OR `||` était là en premier. Il existe depuis le début de JavaScript, donc les développeurs l'utilisaient à de telles fins depuis longtemps.
11281
11382
D'un autre côté, l'opérateur de coalescence des nuls `??` n'a été ajouté à JavaScript que récemment, et la raison en était que les gens n'étaient pas tout à fait satisfaits de `||`.
11483
@@ -129,33 +98,18 @@ alert(height || 100); // 100
12998
alert(height ?? 100); // 0
13099
```
131100
132-
<<<<<<< HEAD
133-
- L'expression `height || 100` vérifie que "height" est une valeur erronée, et c'est vraiment le cas,
134-
- donc le résultat est le deuxième argument, `100`.
101+
- L'expression `height || 100` vérifie que `height` est une valeur fausse, et c'est `0`, elle est fausse en effet.
102+
- donc le résultat de `||` est le deuxième argument, `100`.
135103
- L'expression `height ?? 100` vérifie que `height` est `null/undefined`, et ce n'est pas le cas,
136104
- donc le résultat est `height` "tel quel", c'est-à-dire `0`.
137105
138-
Si la hauteur zéro est une valeur valide, elle ne doit pas être remplacée par la valeur par défaut, alors `??` fait exactement ce qu'il faut.
106+
En pratique, la hauteur zéro est souvent une valeur valide, qui ne doit pas être remplacée par la valeur par défaut. Alors `??` fait ce qu'il faut.
139107
140108
## Priorité
141-
=======
142-
- The `height || 100` checks `height` for being a falsy value, and it's `0`, falsy indeed.
143-
- so the result of `||` is the second argument, `100`.
144-
- The `height ?? 100` checks `height` for being `null/undefined`, and it's not,
145-
- so the result is `height` "as is", that is `0`.
146-
147-
In practice, the zero height is often a valid value, that shouldn't be replaced with the default. So `??` does just the right thing.
148-
>>>>>>> 7533c719fbf62ba57188d6d51fe4c038b282bd0c
149-
150-
La priorité de l'opérateur `??` est plutôt faible : `5` dans le [tableau MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#Table).
151109
152-
<<<<<<< HEAD
153-
La priorité de l'opérateur «??» est plutôt faible: «5» dans le [tableau MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#Table). Ainsi, `??` est évalué avant `=` et `?`, Mais après la plupart des autres opérations, telles que `+`, `*`.
154-
=======
155-
The precedence of the `??` operator is about the same as `||`, just a bit lower. It equals `5` in the [MDN table](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#Table), while `||` is `6`.
110+
La priorité de l'opérateur `??` est à peu près la même que celle de `||`, juste un peu plus basse. Il est égal à `5` dans le [tableau MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#Table), tandis que `||` est `6`.
156111
157-
That means that, just like `||`, the nullish coalescing operator `??` is evaluated before `=` and `?`, but after most other operations, such as `+`, `*`.
158-
>>>>>>> 7533c719fbf62ba57188d6d51fe4c038b282bd0c
112+
Cela signifie que, tout comme `||`, l'opérateur de coalescence des nuls `??` est évalué avant `=` et `?`, Mais après la plupart des autres opérations, telles que `+`, `*`.
159113
160114
Donc, si nous voulons choisir une valeur avec `??` dans une expression avec d'autres opérateurs, pensez à ajouter des parenthèses :
161115
@@ -189,11 +143,7 @@ Le code ci-dessous déclenche une erreur de syntaxe :
189143
let x = 1 && 2 ?? 3; // Syntax error
190144
```
191145
192-
<<<<<<< HEAD
193-
La limitation est sûrement discutable, mais elle a été ajoutée à la spécification du langage dans le but d'éviter les erreurs de programmation, car les gens commencent à passer à `??` à partir de `||`.
194-
=======
195-
The limitation is surely debatable, it was added to the language specification with the purpose to avoid programming mistakes, when people start to switch from `||` to `??`.
196-
>>>>>>> 7533c719fbf62ba57188d6d51fe4c038b282bd0c
146+
La limitation est sûrement discutable, mais elle a été ajoutée à la spécification du langage dans le but d'éviter les erreurs de programmation, quand les gens commencent à passer de `||` à `??`.
197147
198148
Utilisez des parenthèses explicites pour la contourner :
199149

0 commit comments

Comments
 (0)