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:

  1. condicion: Es una expresión que se evalúa como true o false (un valor booleano).

  2. ?: Este signo de interrogación separa la condición de las expresiones que se ejecutarán.

  3. expresionSiVerdadero: Esta expresión se ejecuta y su valor se devuelve si la condicion es true.

  4. :: Este signo de dos puntos separa la expresión verdadera de la expresión falsa.

  5. expresionSiFalso: Esta expresión se ejecuta y su valor se devuelve si la condición es false.

¿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 y expresionSiFalso 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 un if...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.

image

image