La conjunción une proposiciones y solo es verdadera cuando todas las condiciones involucradas son verdaderas. En programación se usa para exigir varios requisitos al mismo tiempo.
La conjunción es un operador lógico binario: combina dos proposiciones y produce una nueva proposición compuesta.
Se lee como y. Si tenemos dos proposiciones p y q, la conjunción se escribe p ∧ q y se lee "p y q".
La conjunción solo es verdadera cuando ambas proposiciones son verdaderas.
Ejemplo en lenguaje natural:
La tabla de verdad de la conjunción muestra que el resultado solo es verdadero en un caso.
| p | q | p ∧ q |
|---|---|---|
| V | V | V |
| V | F | F |
| F | V | F |
| F | F | F |
En JavaScript, la conjunción se expresa con el operador &&.
const usuarioRegistrado = true;
const emailVerificado = true;
const puedeIngresar = usuarioRegistrado && emailVerificado;
console.log(puedeIngresar);
El resultado es true porque las dos proposiciones son verdaderas.
Si al menos una de las proposiciones es falsa, toda la conjunción es falsa.
const hayStock = true;
const pagoAprobado = false;
const puedeComprar = hayStock && pagoAprobado;
console.log(puedeComprar);
Aunque hay stock, la compra no puede realizarse porque el pago no fue aprobado.
En programación es común exigir más de dos condiciones al mismo tiempo. Una conjunción con varias proposiciones solo será verdadera si todas son verdaderas.
const edad = 22;
const aceptoTerminos = true;
const emailVerificado = true;
const registroPermitido = edad >= 18 && aceptoTerminos && emailVerificado;
console.log(registroPermitido);
La regla exige mayoría de edad, aceptación de términos y email verificado.
El operador AND se usa frecuentemente para controlar si un bloque de código debe ejecutarse.
const esAdmin = true;
const cuentaActiva = true;
if (esAdmin && cuentaActiva) {
console.log("Acceso al panel administrativo");
} else {
console.log("Acceso denegado");
}
El acceso solo se permite cuando el usuario es administrador y su cuenta está activa.
Cuando una condición tiene varias partes, conviene separarlas en variables booleanas con nombres claros.
const password = "abc12345";
const confirmacion = "abc12345";
const tieneLongitudValida = password.length >= 8;
const coincideConfirmacion = password === confirmacion;
const passwordValida = tieneLongitudValida && coincideConfirmacion;
console.log(passwordValida);
Separar las proposiciones simples mejora la legibilidad y facilita encontrar errores.
La conjunción es útil cuando una acción requiere cumplir varias restricciones simultáneamente.
| Situación | Condiciones | Expresión |
|---|---|---|
| Comprar producto | Hay stock y el pago fue aprobado | hayStock && pagoAprobado |
| Iniciar sesión | Email verificado y contraseña correcta | emailVerificado && passwordCorrecta |
| Publicar artículo | Es editor y el artículo está completo | esEditor && articuloCompleto |
| Usar descuento | Cupón válido y compra mínima alcanzada | cuponValido && compraMinima |
JavaScript evalúa una conjunción de izquierda a derecha. Si encuentra una parte falsa, ya no necesita evaluar el resto para saber que el resultado final será falso.
const usuario = null;
if (usuario !== null && usuario.activo) {
console.log("Usuario activo");
}
La segunda parte solo se evalúa si la primera es verdadera. Esto evita intentar acceder a usuario.activo cuando usuario es null.
En lógica matemática trabajamos con verdadero y falso. En JavaScript, && también puede operar con valores no booleanos y devolver uno de esos valores.
const nombre = "Ana";
console.log(nombre && "Nombre ingresado");
Este comportamiento pertenece al lenguaje JavaScript. Para estudiar lógica, conviene pensar primero en expresiones que devuelven claramente true o false.
La conjunción puede combinarse con negaciones para expresar reglas más específicas.
const cuentaActiva = true;
const cuentaBloqueada = false;
const puedeOperar = cuentaActiva && !cuentaBloqueada;
console.log(puedeOperar);
La operación se permite cuando la cuenta está activa y no está bloqueada.
La conjunción permite construir condiciones estrictas: todas las partes deben cumplirse para que el resultado sea verdadero. Por eso es fundamental en validaciones, permisos y reglas de negocio.
En el próximo tema estudiaremos la disyunción, también conocida como operador OR.