5. ¿Qué es un operador ternario? - KatherineAGM/Checkpoint-7 GitHub Wiki
Un operador ternario, también conocido como operador condicional ternario, es una forma concisa de escribir una sentencia if...else
en una sola línea de código. Se le llama "ternario" porque opera sobre tres operandos.
Su sintaxis general es la siguiente:
condicion ? expresionSiVerdadero : expresionSiFalso;
Explicación de las partes:
-
condicion:
Es una expresión que se evalúa comotrue
ofalse
(un valor booleano). -
?
: Este signo de interrogación separa la condición de las expresiones que se ejecutarán. -
expresionSiVerdadero:
Esta expresión se ejecuta y su valor se devuelve si lacondicion
estrue.
-
:
: Este signo de dos puntos separa la expresión verdadera de la expresión falsa. -
expresionSiFalso:
Esta expresión se ejecuta y su valor se devuelve si lacondición
esfalse
.
¿Para qué se usa?
El operador ternario es ideal para asignaciones condicionales o para devolver un valor basado en una condición simple, donde un if...else
tradicional podría resultar más verboso.
Ejemplos en JavaScript:
1. Asignación de un mensaje basado en una edad:
let edad = 20;
let mensaje;
// Usando if...else (más verboso)
if (edad >= 18) {
mensaje = "Mayor de edad";
} else {
mensaje = "Menor de edad";
}
console.log(mensaje); // Salida: Mayor de edad
// Usando el operador ternario (más conciso)
let otroMensaje = (edad >= 18) ? "Mayor de edad" : "Menor de edad";
console.log(otroMensaje); // Salida: Mayor de edad
2. Determinar si un número es par o impar:
let numero = 7;
let tipoNumero = (numero % 2 === 0) ? "par" : "impar";
console.log(`El número ${numero} es ${tipoNumero}.`); // Salida: El número 7 es impar.
3. Uso en una función para devolver un valor:
function obtenerEstado(estaActivo) {
return estaActivo ? "Activo" : "Inactivo";
}
console.log(obtenerEstado(true)); // Salida: Activo
console.log(obtenerEstado(false)); // Salida: Inactivo
Ventajas del operador ternario:
-
Concisión: Reduce la cantidad de líneas de código.
-
Legibilidad (para condiciones simples): En casos sencillos, puede hacer el código más fácil de leer al tener la lógica en una sola línea.
Desventajas y cuándo evitarlo:
-
Legibilidad (para condiciones complejas): Si la condición es muy compleja o si las expresiones
expresionSiVerdadero
yexpresionSiFalso
son muy largas o implican lógica compleja, el operador ternario puede volverse difícil de leer y mantener. En esos casos, es mejor usar unif...else
tradicional para mayor claridad. -
No reemplaza a
if...else
para bloques de código: El operador ternario está diseñado para devolver un valor o asignar una expresión. No es adecuado para ejecutar múltiples sentencias o efectos secundarios complejos que no devuelvan un valor.
El operador ternario es una herramienta poderosa para escribir código más conciso y elegante, especialmente para asignaciones condicionales simples. Sin embargo, su uso debe ser considerado cuidadosamente para no sacrificar la legibilidad por la brevedad.