Operadores Lógicos Parte 3
Parte da seção Fundamentos do Journey de JavaScript da Coddy — lição 21 de 77.
Ao trabalhar com expressões lógicas, às vezes precisamos simplificá-las ou reorganizá-las.
! (não) na frente de duas condições unidas por && (e), você pode dividi-lo em duas partes separadas. O && (e) torna-se || (ou), e cada parte recebe seu próprio ! (não):
!(A && B) é o mesmo que (!A) || (!B)
Por exemplo:
// Vamos verificar se um número NÃO está (entre 1 e 10)
let number = 15
// Estas duas expressões são equivalentes:
let result1 = !(number >= 1 && number <= 10)
let result2 = !(number >= 1) || !(number <= 10)
console.log(result1) // True
console.log(result2) // TrueO oposto também é correto: !(A || B) é o mesmo que (!A) && (!B)
Por exemplo:
// Verificando se uma pessoa NÃO é (estudante ou empregada)
let is_student = false
let is_employed = false
// Estas duas expressões são equivalentes:
let result1 = !(is_student || is_employed)
let result2 = !is_student && !is_employed
console.log(result1) // Verdadeiro
console.log(result2) // VerdadeiroDesafio
InicianteVocê está ajudando um pet shop a criar um sistema para determinar se eles podem vender um animal de estimação para um cliente.
inicialize as seguintes variáveis:
has_licensecom o valortruehas_spacecom o valorfalsehas_experiencecom o valortrue
Escreva as seguintes expressões lógicas para determinar se:
can_sell_regular_pet: O cliente precisa de uma licença OU experiência, E deve ter espaçocan_sell_exotic_pet: O cliente precisa de AMBOS, uma licença E experiência, E deve ter espaçocannot_sell_any_pet: O cliente NÃO possui licença E NÃO possui experiência, OU NÃO possui espaço
Folha de consulta
As Leis de De Morgan permitem que você simplifique expressões lógicas movendo o operador ! (not):
!(A && B) é o mesmo que (!A) || (!B)
// NÃO (entre 1 e 10)
let result1 = !(number >= 1 && number <= 10)
let result2 = !(number >= 1) || !(number <= 10) // equivalente!(A || B) é o mesmo que (!A) && (!B)
// NÃO (estudante ou empregado)
let result1 = !(is_student || is_employed)
let result2 = !is_student && !is_employed // equivalenteExperimente você mesmo
// Inicializar variáveis
// Calcular condições
let can_sell_regular_pet =
let can_sell_exotic_pet =
let cannot_sell_any_pet =
// Não delete as linhas abaixo
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)Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 3Coerção de Tipos7Calculadora de Divisão de Conta
Mensagem de Boas-vindasCalculando a Gorjeta e o Total10FizzBuzz com um Diferencial
Visão Geral do JogoA Função FizzBuzz2Variáveis
NúmerosStringBooleanoConvenções de NomenclaturaVariáveis VaziasRecapitulação - Inicializar VariáveisConstantes5Tomada de Decisão
Estrutura IfIf - ElseRevisão - Calculadora SimplesIf - Else AninhadoEstrutura Switch8Laços de Repetição
Loop ForLoop WhileBreakContinueRecapitulação - FatorialLoop Do WhileLoops Aninhados3Operadores Parte 1
Operadores AritméticosOperador de MóduloAtalhos AritméticosOperadores de ComparaçãoIgualdade Estrita vs Não EstritaRecapitulação - Matemática Simples6E/S Básica
SaídaSaída com VariáveisConversão de Tipos - Parte 1Conversão de Tipos - Parte 2Revisão - Até 120Revisão - Verdadeiro ou Falso