| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Operators/Logical_NOT | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
L'oprateur logique NON (!) prend l'oppos logique de la valeur fournie par son oprande. Vrai devient faux et vice versa. Il est gnralement utilis avec les boolens. Lorsque cet oprateur est utilis avec une valeur non-boolenne, il renvoie false si son oprande peut tre converti en true et true sinon.
const a = 3;
const b = -2;
console.log(!(a > 0 || b > 0));
// Expected output: false
!expr;
Cet oprateur renvoie false si son oprande peut tre converti en true ; sinon il renvoie true.
Si une valeur peut tre convertie en true, on dira en anglais qu'elle est truthy. l'inverse, si elle peut tre convertie en false, on dira en anglais qu'elle est falsy.
Voici des exemples d'expression qui peuvent tre converties en false :
null ;NaN ;0 ;"" ou '' ou ``) ;undefined.Bien que l'oprateur ! puisse tre utilis avec des oprandes non boolens, sa valeur de retour sera toujours un boolen. Pour convertir une valeur (ou une expression) en sa valeur boolenne correspondante, on pourra utiliser un double NON ou le constructeur Boolean.
Le code suivant illustre l'utilisation de l'oprateur ! pour le NON logique.
let n1 = !true; // !t renvoie false
let n2 = !false; // !f renvoie true
let n3 = !""; // !f renvoie true
let n4 = !"Cat"; // !t renvoie false
!!)Il est possible d'utiliser deux oprateurs NON la suite pour convertir n'importe quelle valeur en boolen selon qu'elle est truthy ou falsy.
Une conversion quivalente pourra tre obtenue avec le constructeur Boolean.
let n1 = !!true; // !!truthy renvoie true
let n2 = !!{}; // !!truthy renvoie true : tout objet est truthy
let n3 = !!new Boolean(false); // Attention, un objet Boolean est toujours truthy !
let n4 = !!false; // !!falsy renvoie false
let n5 = !!""; // !!falsy renvoie false
let n6 = !!Boolean(false); // !!falsy renvoie false
L'expression qui suit, utilise avec des boolens :
!!bCondition;
est toujours gale :
bCondition;
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-logical-not-operator |
Cette page a t modifie le 7 sept. 2025 par les contributeurices du MDN.
Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |