Affectation après ET logique (&&=) - JavaScript | MDN

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2020.

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).

Exemple interactif

let a = 1;
let b = 0;

a &&= 2;
console.log(a);
// Expected output: 2

b &&= 2;
console.log(b);
// Expected output: 0

Syntaxe

Description

É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 :

(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).

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

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

Exemples

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

Spécifications

Spécification
ECMAScript® 2026 Language Specification
# sec-assignment-operators

Compatibilité des navigateurs

Voir aussi

Aider à améliorer MDN

Apprendre à contribuer

Cette page a été modifiée le par les contributeur·ice·s du MDN.