Operadores lógicos Parte 3
Parte de la sección Fundamentos del Journey de JavaScript de Coddy — lección 21 de 77.
Al trabajar con expresiones lógicas, a veces necesitamos simplificarlas o reorganizarlas.
! (no) frente a dos condiciones unidas por && (y), puedes dividirlo en dos partes separadas. El && (y) se convierte en || (o), y cada parte obtiene su propio ! (no):
!(A && B) es lo mismo que (!A) || (!B)
Por ejemplo:
// Comprobemos si un número NO está (entre 1 y 10)
let number = 15
// Estas dos expresiones son equivalentes:
let result1 = !(number >= 1 && number <= 10)
let result2 = !(number >= 1) || !(number <= 10)
console.log(result1) // Verdadero
console.log(result2) // VerdaderoLo opuesto también es correcto: !(A || B) es lo mismo que (!A) && (!B)
Por ejemplo:
// Comprobando si una persona NO es (estudiante o empleada)
let is_student = false
let is_employed = false
// Estas dos expresiones son equivalentes:
let result1 = !(is_student || is_employed)
let result2 = !is_student && !is_employed
console.log(result1) // Verdadero
console.log(result2) // VerdaderoDesafío
PrincipianteEstás ayudando a una tienda de mascotas a crear un sistema para determinar si pueden vender una mascota a un cliente.
inicializa las siguientes variables:
has_licensecon el valortruehas_spacecon el valorfalsehas_experiencecon el valortrue
Escribe las siguientes expresiones lógicas para determinar si:
can_sell_regular_pet: El cliente necesita O BIEN una licencia O experiencia, Y debe tener espaciocan_sell_exotic_pet: El cliente necesita TANTO una licencia COMO experiencia, Y debe tener espaciocannot_sell_any_pet: El cliente NO tiene licencia Y NO tiene experiencia, O NO tiene espacio
Hoja de referencia
Las leyes de De Morgan te permiten simplificar expresiones lógicas moviendo el operador ! (not):
!(A && B) es lo mismo que (!A) || (!B)
// NO (entre 1 y 10)
let result1 = !(number >= 1 && number <= 10)
let result2 = !(number >= 1) || !(number <= 10) // equivalente!(A || B) es lo mismo que (!A) && (!B)
// NO (estudiante o empleado)
let result1 = !(is_student || is_employed)
let result2 = !is_student && !is_employed // equivalentePruébalo tú mismo
// Inicializar variables
// Calcular condiciones
let can_sell_regular_pet =
let can_sell_exotic_pet =
let cannot_sell_any_pet =
// No elimines las líneas de abajo
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 lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Coerción de tipos7Calculadora para dividir la cuenta
Mensaje de bienvenidaCálculo de la propina y el total10FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz13Rastreador de lista de compras
Descripción general del proyectoAñadir elemento2Variables
NúmerosStringBooleanConvenciones de nomenclaturaVariables vacíasResumen - Inicializar variablesConstantes5Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleIf - Else anidadosSentencia Switch3Operadores Parte 1
Operadores aritméticosOperador móduloAtajos aritméticosOperadores de comparaciónIgualdad estricta vs. débilResumen - Matemáticas simples6E/S Básica
SalidaSalida con variablesConversión de tipos - Parte 1Conversión de tipos - Parte 2Resumen - Hasta 120Resumen - Verdadero o Falso