Saltar al contenido
Curso de JavaScript
Todos los cursos Ir al ejercicio →

Operadores y decisiones

  • ⏱ 40 minutos
  • 📶 Nivel: principiante
  • 🧩 Incluye ejercicio

💡 🎯 Al terminar esta lección podrás…

  • Elegir el operador correcto y preferir siempre ===.
  • Combinar condiciones con &&, || y !.
  • Tomar decisiones con if, ternario y switch.
  • Escribir funciones que decidan y devuelvan un resultado.

1.Operadores

TipoOperadoresEjemplo
Aritméticos+ - * / % **7 % 2 → 1
Asignación= += -= *= /= ++ --total += 5 (suma 5 a total)
Comparación=== !== > < >= <=3 > 2 → true
Lógicos&& (y) || (o) ! (no)edad > 18 && tieneId
Nulo/indefinido?? (si es null o undefined)nombre ?? "invitado"
Condicionalcondición ? a : bedad >= 18 ? "adulto" : "menor"
▶ Operadores
Consola

2.Comparar valores: === y ==

Comparar es la base de las decisiones. Hay dos formas de preguntar «¿son iguales?», y una es mucho mejor:

OperadorNombreQué hace
===Igualdad estrictaCompara el valor y el tipo. Úsala siempre
==Igualdad laxaConvierte tipos antes de comparar: resultados sorprendentes
!==Desigualdad estrictaLo contrario de ===
▶ == frente a ===
Consola

⚠️ Importante · Regla de oro

Usa siempre === y !==. == y != hacen conversiones que producen resultados difíciles de predecir y son fuente habitual de errores.

3.Operadores lógicos y valores «verdaderos»

OperadorSe leeEs verdadero cuando…
a && ba y bambos son verdaderos
a || ba o bal menos uno es verdadero
!ano aa es falso
aba && ba || b
truetruetruetrue
truefalsefalsetrue
falsetruefalsetrue
falsefalsefalsefalse

Verdadero y falso («truthy» y «falsy»)

En una condición, JavaScript trata algunos valores como falsos aunque no sean false. Los valores falsos son solo estos seis: false, 0, "", null, undefined y NaN. Todo lo demás es verdadero.

▶ Truthy y falsy
Consola

📌 Nota · || frente a ??

a || b usa b si a es cualquier valor falso (incluido 0 o ""). a ?? b usa b solo si a es null o undefined. Para valores por defecto, ?? suele ser lo correcto.

4.Tomar decisiones: if, else if y else

La estructura básica
if (condicion) {
  // se ejecuta si la condición es verdadera
} else if (otraCondicion) {
  // se ejecuta si la primera falló y esta es verdadera
} else {
  // se ejecuta si ninguna fue verdadera
}
▶ Clasificar una nota
Consola

Cambia el valor de nota y observa qué mensaje aparece. Se evalúan las condiciones de arriba abajo y se ejecuta solo la primera que sea verdadera; por eso el orden importa.

Combinar condiciones

Y, O y NO
const edad = 20, tieneEntrada = true, esVip = false;

if (edad >= 18 && tieneEntrada) { console.log("Puede pasar"); }
if (esVip || edad >= 65)        { console.log("Acceso preferente"); }
if (!tieneEntrada)              { console.log("Debe comprar entrada"); }

5.El operador ternario y el cortocircuito

Cuando solo necesitas elegir entre dos valores, el operador ternario es más breve que un if:

condición ? siEsVerdadera : siEsFalsa
const edad = 20;
const tipo = edad >= 18 ? "adulto" : "menor";
console.log(tipo);                       // "adulto"

console.log(`Tienes ${edad} años y eres ${edad >= 18 ? "mayor" : "menor"} de edad`);

💡 Consejo · Legibilidad primero

Usa el ternario para decisiones simples y de una línea. Si necesitas varias condiciones o varias líneas, un if es más claro. Evita anidar ternarios: son difíciles de leer.

6.switch: muchas opciones sobre un mismo valor

▶ Un menú con switch
Consola

7.Decisiones dentro de funciones

Casi todas las decisiones viven dentro de funciones, que verás a fondo en la lección 5. Por ahora, lo básico: una función recibe valores, decide y devuelve un resultado con return.

▶ Tu primera función con decisión
Consola

📌 Nota · return termina la función

Cuando una función ejecuta return, sale inmediatamente. Por eso en categoriaEdad no hace falta else: si la edad es menor de 13 ya devolvió «niñez» y no sigue leyendo.

8.Errores frecuentes

📒 Apuntes para llevar

  • Los operadores aritméticos, de asignación (+=, ++), de comparación y lógicos son la base de toda decisión.
  • Usa siempre === y !==, nunca ==.
  • && = «y», || = «o», ! = «no». Los valores falsos son solo false, 0, "", null, undefined y NaN.
  • ?? aplica un valor por defecto solo si el original es null o undefined.
  • if / else if / else evalúa de arriba abajo y ejecuta solo la primera rama verdadera: el orden importa.
  • El ternario cond ? a : b sirve para elegir entre dos valores en una línea.
  • switch compara un valor con varios casos; cada caso termina con break.
  • return devuelve un valor y termina la función al instante.

9.Glosario

TérminoSignificado
OperadorSímbolo que realiza una operación (+, ===, &&).
CondiciónExpresión que se evalúa como verdadera o falsa.
BooleanoValor true o false.
Truthy / falsyValores que se comportan como verdadero o falso en una condición.
Igualdad estricta===: compara valor y tipo.
TernarioOperador cond ? a : b que elige entre dos valores.
CortocircuitoEvaluar solo lo necesario en && y ||.
switchEstructura que compara un valor con varios casos.

🧠 Comprueba lo aprendido

Elige una respuesta en cada pregunta. Verás al instante si acertaste y por qué.

¿Qué muestra console.log(5 === "5")?

¿Cuál de estos valores es verdadero en una condición?

const n = 0; console.log(n || 10) muestra…

Una cadena if / else if evalúa nota >= 5 antes que nota >= 9. ¿Qué problema hay?

Olvidas break en un case de un switch. ¿Qué pasa?

Tu progreso se guarda en este navegador y se refleja en el índice del curso.

💡 🚀 ¡Ahora te toca!

La práctica fija lo aprendido. Pasa al ejercicio de esta lección.

Ir al ejercicio