Opérateurs logiques Partie 3
Fait partie de la section Fondamentaux du Journey JavaScript de Coddy — leçon 21 sur 77.
Lorsque nous travaillons avec des expressions logiques, nous avons parfois besoin de les simplifier ou de les réorganiser.
! (non) devant deux conditions jointes par && (et), vous pouvez le diviser en deux parties distinctes. Le && (et) devient || (ou), et chaque partie reçoit son propre ! (non) :
!(A && B) est équivalent à (!A) || (!B)
Par exemple :
// Vérifions si un nombre n'est PAS (entre 1 et 10)
let number = 15
// Ces deux expressions sont équivalentes :
let result1 = !(number >= 1 && number <= 10)
let result2 = !(number >= 1) || !(number <= 10)
console.log(result1) // Vrai
console.log(result2) // VraiL'inverse est également vrai : !(A || B) est identique à (!A) && (!B)
Par exemple :
// Vérifier si une personne n'est PAS (étudiante ou employée)
let is_student = false
let is_employed = false
// Ces deux expressions sont équivalentes :
let result1 = !(is_student || is_employed)
let result2 = !is_student && !is_employed
console.log(result1) // Vrai
console.log(result2) // VraiDéfi
DébutantVous aidez une animalerie à créer un système pour déterminer si elle peut vendre un animal à un client.
initialisez les variables suivantes :
has_licenseavec la valeurtruehas_spaceavec la valeurfalsehas_experienceavec la valeurtrue
Écrivez les expressions logiques suivantes pour déterminer si :
can_sell_regular_pet: Le client a besoin de SOIT une licence OU de l'expérience, ET doit avoir de l'espacecan_sell_exotic_pet: Le client a besoin à la fois d'une licence ET d'expérience, ET doit avoir de l'espacecannot_sell_any_pet: Le client n'a AUCUNE licence ET AUCUNE expérience, OU n'a AUCUN espace
Aide-mémoire
Les lois de De Morgan vous permettent de simplifier les expressions logiques en déplaçant l'opérateur ! (non) :
!(A && B) est identique à (!A) || (!B)
// NON (entre 1 et 10)
let result1 = !(number >= 1 && number <= 10)
let result2 = !(number >= 1) || !(number <= 10) // équivalent!(A || B) est identique à (!A) && (!B)
// NON (étudiant ou employé)
let result1 = !(is_student || is_employed)
let result2 = !is_student && !is_employed // équivalentEssayez vous-même
// Initialiser les variables
// Calculer les conditions
let can_sell_regular_pet =
let can_sell_exotic_pet =
let cannot_sell_any_pet =
// Ne pas supprimer les lignes ci-dessous
console.log("Can sell regular pet:", can_sell_regular_pet)
console.log("Can sell exotic pet:", can_sell_exotic_pet)
console.log("Cannot sell any pet:", cannot_sell_any_pet)Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs Partie 2
Opérateurs logiques Partie 1Opérateurs logiques Partie 2Récapitulatif - Logique simpleOpérateurs logiques Partie 3Coercion de type7Calculateur de partage d'addition
Message de bienvenueCalcul du pourboire et du total10FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz13Suivi de liste de courses
Présentation du projetAjouter un article2Variables
NombresChaînes de caractèresBooléensConventions de nommageVariables videsRécapitulatif - Initialiser des variablesConstantes5Prise de décision
L'instruction IfIf - ElseRécapitulatif - Calculatrice simpleIf - Else imbriquésL'instruction Switch8Boucles
Boucle ForBoucle WhileBreakContinueRécapitulatif - FactorielleBoucle Do WhileBoucles imbriquées3Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloRaccourcis arithmétiquesOpérateurs de comparaisonÉgalité stricte vs faibleRécapitulatif - Mathématiques simples6Entrées/Sorties de base
SortieSortie avec des variablesConversion de type - Partie 1Conversion de type - Partie 2Récapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux