Saltar al contenido

Lección 13 de 13 · Lectura y práctica

Operadores logicos

Operadores logicos Los operadores logicos te permiten combinar condiciones. AND (&&) Devuelve true solo si ambas condiciones son true. const edad = 25; const tieneLicencia = true; // Ambas deben ser true if (edad >= 18 &&.

Del concepto a la práctica

Taller de esta lección

Los operadores lógicos combinan condiciones, pero también devuelven valores cuando se usan fuera de un if. Para permitir una tarea solo cuando tiene título y duración válida, && exige ambas condiciones. Para mostrar un responsable alternativo, ?? conserva valores como cadena vacía si esa cadena tiene un significado distinto de “ausente”.

Ejemplo resuelto

js
const titulo = "Plan";
const minutos = 15;
const valido = titulo.trim() !== "" && minutos > 0;
const responsable = null;
console.log(valido, responsable ?? "Sin asignar");
// true "Sin asignar"

Pruébalo

  1. Cambia el título por tres espacios.

  2. Cambia los minutos por 0 y después por -2.

  3. Cambia responsable por "".

  4. Compara el resultado de ?? con ||.

Error frecuente: usar || como valor alternativo cuando el cero o la cadena vacía son datos válidos. Corrige usando ?? cuando solo quieras reemplazar null o undefined.

Comprueba tu resultado

El título con espacios debe producir false; 0 y -2 también deben impedir la validez. Con responsable = "", ?? debe conservar la cadena vacía, mientras || escogería "Sin asignar".

Diagrama de decisión con ramas Sí y No y un bucle que procesa cada elemento de una lista.
CursaloMapa de práctica
Cómo avanza un programa

Una condición decide qué camino ejecuta el programa. Un bucle repite una operación mientras queden elementos, y termina cuando la lista se agota. Separar ambas ideas ayuda a seguir el flujo y comprobar casos límite.

Ver la infografía en tamaño completo ↗

Operadores logicos

Los operadores logicos te permiten combinar condiciones.

AND (&&)

Devuelve true solo si ambas condiciones son true.

const edad = 25;
const tieneLicencia = true;

// Ambas deben ser true
if (edad >= 18 && tieneLicencia) {
  console.log("Puede conducir");
}

// Tabla de verdad
console.log(true && true);   // true
console.log(true && false);  // false
console.log(false && true);  // false
console.log(false && false); // false

OR (||)

Devuelve true si al menos una condicion es true.

const esAdmin = false;
const esModerador = true;

// Solo una necesita ser true
if (esAdmin || esModerador) {
  console.log("Tiene permisos especiales");
}

// Tabla de verdad
console.log(true || true);   // true
console.log(true || false);  // true
console.log(false || true);  // true
console.log(false || false); // false

NOT (!)

Invierte el valor booleano.

const estaActivo = true;

console.log(!estaActivo);  // false
console.log(!false);       // true

// Doble negacion para convertir a boolean
console.log(!!"hola");     // true
console.log(!!0);          // false

Nullish Coalescing (??)

Devuelve el lado derecho si el izquierdo es null o undefined.

const nombre = null;
const nombrePorDefecto = nombre ?? "Anonimo";
console.log(nombrePorDefecto); // "Anonimo"

// Diferencia con ||
const cantidad = 0;
console.log(cantidad || 10);  // 10 (0 es falsy)
console.log(cantidad ?? 10);  // 0 (0 no es null/undefined)

Optional Chaining (?.)

const usuario = {
  nombre: "Maria",
  direccion: null
};

// Sin optional chaining - error!
// console.log(usuario.direccion.calle);

// Con optional chaining - undefined
console.log(usuario.direccion?.calle); // undefined
console.log(usuario.perfil?.foto);     // undefined

Sigue con JavaScript Fundamentals

Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.

Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.

01 / ELEGIR UNA RUTA

El próximo paso

Aprende IA mientras construyes algo que sí necesitas.

Empieza por el curso inicial o explora el catálogo para encontrar una práctica alineada con tu trabajo.