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/02-first-steps/12-nullish-coalescing-operator/article.md
+7-35Lines changed: 7 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,13 +3,9 @@
3
3
[recent browser="new"]
4
4
5
5
6
-
<<<<<<< HEAD
7
6
L'opérateur de coalescence des nuls est écrit sous la forme de deux points d'interrogation `??`.
8
-
=======
9
-
As it treats `null` and `undefined` similarly, we'll use a special term here, in this article. For brevity, we'll say that a value is "defined" when it's neither `null` nor `undefined`.
10
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
11
7
12
-
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`.
8
+
Comme il traite `null` et `undefined` de la même manière, nous utiliserons un terme spécial ici, dans cet article. Par souci de brièveté, nous dirons qu'une expression est "définie" lorsqu'elle n'est ni `null` ni `undefined`.
13
9
14
10
Le résultat de `a ?? b` est :
15
11
- si `a` est défini, alors `a`,
@@ -28,15 +24,9 @@ result = (a !== null && a !== undefined) ? a : b;
28
24
29
25
Maintenant, il devrait être absolument clair ce que fait `??`. Voyons où cela aide.
30
26
31
-
<<<<<<< HEAD
32
-
Le cas d'utilisation courant de `??` est de fournir une valeur par défaut pour une variable potentiellement indéfinie.
27
+
Le cas d'utilisation courant de `??` est de fournir une valeur par défaut.
33
28
34
-
Par exemple, ici nous affichons `user` s'il est défini, sinon `Anonymous` :
35
-
=======
36
-
The common use case for `??` is to provide a default value.
37
-
38
-
For example, here we show `user` if its value isn't `null/undefined`, otherwise `Anonymous`:
39
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
29
+
Par exemple, nous affichons ici `user` si sa valeur n'est pas `null/undefined`, sinon `Anonymous` :
Nous pouvons également utiliser une séquence de `??` pour sélectionner la première valeur dans une liste qui n'est pas `null/undefined`.
56
46
57
-
<<<<<<< HEAD
58
-
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.
59
-
60
-
Nous aimerions afficher le nom d'utilisateur en utilisant l'une de ces variables, ou afficher "Anonymous" si toutes ne sont pas définies.
61
-
=======
62
-
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 fill in the corresponding values.
47
+
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 valeurs correspondantes.
63
48
64
-
We'd like to display the user name using one of these variables, or show "Anonymous" if all of them are `null/undefined`.
65
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
49
+
Nous aimerions afficher le nom d'utilisateur à l'aide de l'une de ces variables, ou afficher "Anonyme" si toutes sont `null/undefined`.
66
50
67
51
Utilisons l'opérateur `??` pour cela :
68
52
@@ -123,19 +107,11 @@ En pratique, la hauteur zéro est souvent une valeur valide, qui ne doit pas êt
123
107
124
108
## Priorité
125
109
126
-
<<<<<<< HEAD
127
110
La priorité de l'opérateur `??` est la même que celle de `||`. Elle est égale à `3` dans le [tableau MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#Table).
128
-
=======
129
-
The precedence of the `??` operator is the same as `||`. They both equal `3` in the [MDN table](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#Table).
130
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
131
111
132
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 `+`, `*`.
133
113
134
-
<<<<<<< HEAD
135
-
Donc, si nous voulons choisir une valeur avec `??` dans une expression avec d'autres opérateurs, pensez à ajouter des parenthèses :
136
-
=======
137
-
So we may need to add parentheses in expressions like this:
138
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
114
+
Nous devrons donc peut-être ajouter des parenthèses dans des expressions comme celle-ci :
139
115
140
116
```js run
141
117
let height =null;
@@ -153,11 +129,7 @@ Sinon, si nous omettons les parenthèses, alors que `*` a la priorité la plus
153
129
// sans parenthèses
154
130
let area = height ??100* width ??50;
155
131
156
-
<<<<<<<HEAD
157
-
// ...fonctionne de la même manière (probablement pas ce que nous voulons) :
158
-
=======
159
-
// ...works this way (not what we want):
160
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
132
+
// ...fonctionne de cette façon (pas ce que nous voulons) :
0 commit comments