From bf8e099b9c8b3c60d60b3712b4fc97b052c39887 Mon Sep 17 00:00:00 2001 From: julieng Date: Tue, 3 Aug 2021 08:03:23 +0200 Subject: convert content to md --- .../operators/logical_and_assignment/index.md | 81 +++++++++++----------- 1 file changed, 39 insertions(+), 42 deletions(-) (limited to 'files/fr/web/javascript/reference/operators/logical_and_assignment') diff --git a/files/fr/web/javascript/reference/operators/logical_and_assignment/index.md b/files/fr/web/javascript/reference/operators/logical_and_assignment/index.md index e788d794d6..167b775d28 100644 --- a/files/fr/web/javascript/reference/operators/logical_and_assignment/index.md +++ b/files/fr/web/javascript/reference/operators/logical_and_assignment/index.md @@ -8,71 +8,68 @@ tags: - Operator - Reference browser-compat: javascript.operators.logical_and_assignment -translation-of: Web/JavaScript/Reference/Operators/Logical_AND_assignment --- -
{{jsSidebar("Operators")}}
+{{jsSidebar("Operators")}} -

L'opérateur d'affectation après ET logique (x &&= y) n'affecte la valeur de l'opérande droit uniquement si l'opérande gauche est équivalent à vrai (truthy).

+L'opérateur d'affectation après ET logique (`x &&= y`) n'affecte la valeur de l'opérande droit uniquement si l'opérande gauche est [équivalent à vrai (_truthy_)](/fr/docs/Glossary/Truthy). -
{{EmbedInteractiveExample("pages/js/expressions-logical-and-assignment.html")}}
+{{EmbedInteractiveExample("pages/js/expressions-logical-and-assignment.html")}} -

Syntaxe

+## Syntaxe -
-expr1 &&= expr2
-
+```js +expr1 &&= expr2 +``` -

Description

+## Description -

Évaluation en court-circuit

+### Évaluation en court-circuit -

L'opérateur ET logique est évalué de gauche à droite et le moteur vérifie s'il peut utiliser un court-circuit avec la régle suivante :

+L'opérateur [ET logique](/fr/docs/Web/JavaScript/Reference/Operators/Logical_AND) est évalué de gauche à droite et le moteur vérifie s'il peut utiliser un court-circuit avec la régle suivante : -

(une expression équivalente à faux) && expr sera court-circuitée pour fournir directement l'expression équivalente à faux.

+`(une expression équivalente à faux) && expr` sera court-circuitée pour fournir directement l'expression équivalente à faux. -

Ce « court-circuit » indique que expr n'est pas évaluée. Tout effet de bord lié à cette évaluation n'aura pas lieu (par exemple si expr est un appel de fonction, la fonction n'est pas exécutée).

+Ce « court-circuit » indique que `expr` **n'est pas évaluée**. Tout effet de bord lié à cette évaluation n'aura pas lieu (par exemple si `expr` est un appel de fonction, la fonction n'est pas exécutée). -

L'opérateur d'affectation après ET logique utilise également ce court-circuit et x &&= y est donc équivalent à :

+L'opérateur d'affectation après ET logique utilise également ce court-circuit et `x &&= y` est donc équivalent à : -
-x && (x = y);
-
+```js +x && (x = y); +``` -

En revanche, il n'est pas équivalent à ce qui suit, et qui effectue quoi qu'il arrive une affectation :

+En revanche, **il n'est pas équivalent** à ce qui suit, et qui effectue quoi qu'il arrive une affectation : -
-x = x && y;
-
+```js example-bad +x = x && y; +``` -

Exemples

+## Exemples -

Utiliser l'affectation après ET logique

+### Utiliser l'affectation après ET logique -
+```js
 let x = 0;
 let y = 1;
 
-x &&= 0; // 0
-x &&= 1; // 0
-y &&= 1; // 1
-y &&= 0; // 0
-
+x &&= 0; // 0 +x &&= 1; // 0 +y &&= 1; // 1 +y &&= 0; // 0 +``` -

Spécifications

+## Spécifications -

{{Specifications}}

+{{Specifications}} -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat}}

+{{Compat}} -

Voir aussi

+## Voir aussi - +- [L'opérateur ET logique (&&)](/fr/docs/Web/JavaScript/Reference/Operators/Logical_AND) +- [L'opérateur de coalescence des nuls (`??`)](/fr/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator) +- [L'opérateur d'affectation après ET binaire (`&=`)](/fr/docs/Web/JavaScript/Reference/Operators/Bitwise_AND_assignment) +- [Le type `Boolean`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Boolean) +- [_Truthy_](/fr/docs/Glossary/Truthy) +- [_Falsy_](/fr/docs/Glossary/Falsy) -- cgit v1.2.3-54-g00ecf