Volver al curso

JavaScript Fundamentals

leccion
10 / 10
beginner
8 horas
Operadores y expresiones

Operadores logicos

Lectura
15 min~2 min lectura

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