3.7 Les Opérateurs logiques
Les opérateurs logiques permettent de prendre des décisions basées sur plusieurs conditions à la fois. JavaScript propose trois opérateurs logiques classiques : le ET (&&), le OU (||) et le NON (!). Chacun a sa table de vérité et son cas d'usage.
Le ET logique, noté avec deux esperluettes, renvoie true si et seulement si les deux opérandes sont vrais. Dès qu'une seule des deux valeurs est false, le résultat global passe à false. Le OU logique, noté avec deux barres verticales, fait l'inverse : il renvoie true dès qu'au moins une des deux opérandes est vraie ; il ne devient false que si toutes les deux le sont. Le NON, noté avec un point d'exclamation, inverse la valeur d'un booléen : !true devient false et inversement.
Cas concret : éligibilité à un prêt
Imaginons une demande de prêt : le demandeur doit avoir un revenu élevé ET une bonne cote de crédit. C'est l'occasion d'utiliser && :
let highIncome = true;
let goodCreditScore = true;
let eligibleForLoan = highIncome && goodCreditScore;
console.log(eligibleForLoan); // true
let refused = !eligibleForLoan;
console.log('eligible', eligibleForLoan); // 'eligible' true
console.log('application refusée', refused); // false
Si l'un des deux opérandes passe à false, eligibleForLoan devient false. À l'inverse, si on avait voulu accorder le prêt à quelqu'un qui a soit un revenu élevé soit une bonne cote (l'un ou l'autre suffit), on aurait utilisé || à la place. Et l'opérateur ! permet de calculer immédiatement la variable refused comme l'opposé exact d'eligibleForLoan. On se retrouve dans la prochaine vidéo pour découvrir comment ces opérateurs se comportent avec des valeurs non booléennes.