Opérateurs logiques

Opérateurs logiques

Les opérateurs logiques sont généralement utilisés avec des valeurs booléennes. Dans ce cas, il renvoient une valeur booléenne. Les opérateurs && et || renvoient en fait une valeurs d'un des opérandes et si ces opérateurs sont utilisés avec des valeurs non-booléennées, ils pourront renvoyer une valeur non-booléenne. Les opérateurs logiques sont décrits dans le tableau qui suit.

Opérateurs logiques
Opérateur Usage Description
ET logique (&&) expr1 && expr2 Renvoie expr1 s'il peut être converti à false, sinon renvoie expr2. Dans le cas où on utilise des opérandes booléens, && renvoie true si les deux opérandes valent true, false sinon.
OU logique (||) expr1 || expr2 Renvoie expr1 s'il peut être converti à true, sinon renvoie expr2. Dans le cas où on utilise des opérandes booléens, || renvoie true si l'un des opérandes vaut true, si les deux valent false, il renvoie false.
NON logique (!) !expr Renvoie false si son unique opérande peut être converti en true, sinon il renvoie true.

Les exemples d'expressions qui peuvent être converties à false sont celles qui sont évaluées à null, 0, NaN, la chaîne de caractères vide (""), ou undefined.

Le code qui suit montre des exemples de l'utilisation de l'opérateur logique ET (&&).

var a1 =   true && true;     // t && t renvoie true  var a2 =   true && false;    // t && f renvoie false  var a3 =  false && true;     // f && t renvoie false  var a4 =  false && (3 == 4); // f && f renvoie false  var a5 = "Chat" && "Chien";  // t && t renvoie Chien  var a6 =  false && "Chat";   // f && t renvoie false  var a7 = "Chat" && false;    // t && f renvoie false         

Les exemples suivants montrent l'utilisation de l'opérateur logique OU (||).

var o1 =   true || true;     // t || t renvoie true  var o2 =  false || true;     // f || t renvoie true  var o3 =   true || false;    // t || f renvoie true  var o4 =  false || (3 == 4); // f || f renvoie false  var o5 = "Chat" || "Chien";  // t || t renvoie Chat  var o6 =  false || "Chat";   // f || t renvoie Chat  var o7 = "Chat" || false;    // t || f renvoie Chat         

Les exemples suivants montrent l'utilisation de l'opérateur logique NON (!).

var n1 = !true;   // !t renvoie false  var n2 = !false;  // !f renvoie true  var n3 = !"Chat"; // !t renvoie false     

Evaluation rapide

Les expressions logiques sont évaluées de gauche à droite. Cette évaluation utilise des tests pour savoir s'il est possible d'utiliser des « raccourcis » correspondant aux règles suivantes :

  • false && n'importe quoi sera évalué à false.
  • true || n'importe quoi sera évalué à true.

Les règles logiques garantissent la validité de ces évaluations, il faut noter que le second opérande n'est pas du tout évalué, empêchant ainsi les effets de bords cachés, liés à cette évaluation.

Issu de notre Programme de Formation


ONLYWEB Formation, s'appuie sur le réseau d'experts EVA - Solutions

coordonnées

© ONLYWEB Formation
6 pl. Dumas de Loire
69009 Lyon
TÉL 09 72 13 00 73
EVA Solutions: La force du réseau