aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/javascript/reference/operators/logical_nullish_assignment
diff options
context:
space:
mode:
Diffstat (limited to 'files/fr/web/javascript/reference/operators/logical_nullish_assignment')
-rw-r--r--files/fr/web/javascript/reference/operators/logical_nullish_assignment/index.md65
1 files changed, 31 insertions, 34 deletions
diff --git a/files/fr/web/javascript/reference/operators/logical_nullish_assignment/index.md b/files/fr/web/javascript/reference/operators/logical_nullish_assignment/index.md
index 4860c3558b..907a4722a1 100644
--- a/files/fr/web/javascript/reference/operators/logical_nullish_assignment/index.md
+++ b/files/fr/web/javascript/reference/operators/logical_nullish_assignment/index.md
@@ -9,47 +9,46 @@ tags:
- Operator
- Reference
browser-compat: javascript.operators.logical_nullish_assignment
-translation-of: Web/JavaScript/Reference/Operators/Logical_nullish_assignment
---
-<div>{{jsSidebar("Operators")}}</div>
+{{jsSidebar("Operators")}}
-<p>L'opérateur d'affectation après coalescence des nuls (<code>x ??= y</code>) effectue une affectation uniquement si l'opérande de gauche (<code>x</code>) vaut <a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/null"><code>null</code></a> ou <a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/null"><code>undefined</code></a>.</p>
+L'opérateur d'affectation après coalescence des nuls (`x ??= y`) effectue une affectation uniquement si l'opérande de gauche (`x`) vaut [`null`](/fr/docs/Web/JavaScript/Reference/Global_Objects/null) ou [`undefined`](/fr/docs/Web/JavaScript/Reference/Global_Objects/null).
-<div>{{EmbedInteractiveExample("pages/js/expressions-logical-nullish-assignment.html")}}</div>
+{{EmbedInteractiveExample("pages/js/expressions-logical-nullish-assignment.html")}}
-<h2 id="syntax">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">
-<var>expr1</var> ??= <var>expr2</var>
-</pre>
+```js
+expr1 ??= expr2
+```
-<h2 id="description">Description</h2>
+## Description
-<h3 id="short-circuit_evaluation">Évaluation en court-circuit</h3>
+### Évaluation en court-circuit
-<p>L'opérateur de <a href="/fr/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator">coalescence des nuls</a> est évalué de gauche à droite et le moteur teste s'il est possible d'utiliser un court-circuit grâce à la règle suivante :</p>
+L'opérateur de [coalescence des nuls](/fr/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator) est évalué de gauche à droite et le moteur teste s'il est possible d'utiliser un court-circuit grâce à la règle suivante :
-<p><code>(une expression qui renvoie null ou undefined) ?? expr</code> sera court-circuité pour fournir l'opérande gauche si celle-ci ne vaut ni <code>null</code> ni <code>undefined</code>.</p>
+`(une expression qui renvoie null ou undefined) ?? expr` sera court-circuité pour fournir l'opérande gauche si celle-ci ne vaut ni `null` ni `undefined`.
-<p>Ce « court-circuit » implique que l'expression <code><var>expr</var></code> <strong>n'est pas évaluée</strong> si ce n'est pas nécessaire. Ainsi, tout effet de bord lié à celle-ci n'aura pas lieu (par exemple, si <code><var>expr</var></code> appelle une fonction, cette dernière n'est pas exécutée).</p>
+Ce « court-circuit » implique que l'expression `expr` **n'est pas évaluée** si ce n'est pas nécessaire. Ainsi, tout effet de bord lié à celle-ci n'aura pas lieu (par exemple, si `expr` appelle une fonction, cette dernière n'est pas exécutée).
-<p>L'opérateur d'affectation après coalescence des nuls obéit également à cette logique. Ainsi, <code>x ??= y</code> sera équivalent à :</p>
+L'opérateur d'affectation après coalescence des nuls obéit également à cette logique. Ainsi, `x ??= y` sera équivalent à :
-<pre class="brush: js">
+```js
x ?? (x = y);
-</pre>
+```
-<p>En revanche, ce ne sera pas équivalent à l'expression suivante qui effectue une affectation quoi qu'il arrive :</p>
+En revanche, ce ne sera pas équivalent à l'expression suivante qui effectue une affectation quoi qu'il arrive :
-<pre class="brush: js example-bad">
+```js example-bad
x = x ?? y;
-</pre>
+```
-<h2 id="examples">Exemples</h2>
+## Exemples
-<h3 id="using_logical_nullish_assignment">Utiliser l'opérateur d'affectation après coalescence des nuls</h3>
+### Utiliser l'opérateur d'affectation après coalescence des nuls
-<pre class="brush: js">
+```js
function config(options) {
options.duration ??= 100;
options.speed ??= 25;
@@ -58,21 +57,19 @@ function config(options) {
config({ duration: 125 }); // { duration: 125, speed: 25 }
config({}); // { duration: 100, speed: 25 }
-</pre>
+```
-<h2 id="specifications">Spécifications</h2>
+## Spécifications
-<p>{{Specifications}}</p>
+{{Specifications}}
-<h2 id="browser_compatibility">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat}}</p>
+{{Compat}}
-<h2 id="see_also">Voir aussi</h2>
+## Voir aussi
-<ul>
- <li><a href="/fr/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator">L'opérateur de coalescence des nuls (<code>??</code>)</a></li>
- <li><a href="/fr/docs/Glossary/Nullish"><i>Nullish</i></a></li>
- <li><a href="/fr/docs/Glossary/Truthy"><i>Truthy</i></a></li>
- <li><a href="/fr/docs/Glossary/Falsy"><i>Falsy</i></a></li>
-</ul>
+- [L'opérateur de coalescence des nuls (`??`)](/fr/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator)
+- [_Nullish_](/fr/docs/Glossary/Nullish)
+- [_Truthy_](/fr/docs/Glossary/Truthy)
+- [_Falsy_](/fr/docs/Glossary/Falsy)