- Es una forma resumida de
if / else - Permite asignar valores o ejecutar expresiones según una condición
- Sintaxis:
condición ? valorSiTrue : valorSiFalse- Fines de semana (domingo
0, sábado6): abre a las 9 - Días de semana: abre a las 11
const dia = 0; // 0 = domingo
const horaActual = 10;let horaApertura;
if ([0, 6].includes(dia)) {
horaApertura = 9;
} else {
horaApertura = 11;
}Funciona ✅
Pero se puede simplificar.
const horaApertura = ([0, 6].includes(dia)) ? 9 : 11;✅ Más corto
✅ Más claro
✅ Mismo resultado
Usamos backticks y interpolación:
let mensaje;
if (horaActual >= horaApertura) {
mensaje = 'Está abierto';
} else {
mensaje = `Está cerrado, hoy abrimos a las ${horaApertura}`;
}const mensaje = (horaActual >= horaApertura)
? 'Está abierto'
: `Está cerrado, hoy abrimos a las ${horaApertura}`;✅ Una sola línea
✅ Fácil de leer
✅ Muy común en JavaScript moderno
const dia = 1; // lunes
const horaActual = 10;
const horaApertura = ([0, 6].includes(dia)) ? 9 : 11;
const mensaje = (horaActual >= horaApertura)
? 'Está abierto'
: `Está cerrado, hoy abrimos a las ${horaApertura}`;
console.log({ horaApertura, mensaje });✅ Ideal cuando:
- Hay dos caminos claros
- La lógica es simple
- Se quiere asignar un valor
❌ Evitar cuando:
- Hay muchas condiciones
- El ternario se anida demasiado
- Se pierde legibilidad
- ✅ Usar paréntesis para claridad
- ✅ Usar ternarios para asignaciones simples
- ❌ No abusar de ternarios anidados
- ✅ Priorizar la legibilidad
- El operador ternario es un
if / elsecompacto - Hace el código:
- más limpio
- más expresivo
- más fácil de mantener
- Es ampliamente usado en JavaScript moderno