Menu
Coddy logo textTech

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)  // Vrai

L'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)  // Vrai
challenge icon

Défi

Débutant

Vous aidez une animalerie à créer un système pour déterminer si elle peut vendre un animal à un client.

initialisez les variables suivantes :

  • has_license avec la valeur true
  • has_space avec la valeur false
  • has_experience avec la valeur true

É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'espace
  • can_sell_exotic_pet : Le client a besoin à la fois d'une licence ET d'expérience, ET doit avoir de l'espace
  • cannot_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  // équivalent

Essayez 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)
quiz iconTestez-vous

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