El operador ternario ?
, también conocido como operador condicional, es una herramienta que nos permite escribir declaraciones condicionales de una manera más concisa y elegante.
Este operador es una forma abreviada de la estructura if...else
y es útil cuando queremos tomar decisiones basadas en una condición.
Si quieres aprender más sobre el Operador Ternario
consulta el Curso de Introducción a la Programación leer más ⯈
Se compone de tres partes: una expresión condicional, una expresión que se evalúa si la condición es verdadera y otra expresión que se evalúa si la condición es falsa.
La sintaxis básica del operador ternario es la siguiente:
condicion ? expresion_verdadera : expresion_falsa
condicion
: Una expresión que se evalúa como verdadera o falsa.expresion_verdadera
: La expresión que se ejecutará sicondicion
es verdadera.expresion_falsa
: La expresión que se ejecutará sicondicion
es falsa.
Ejemplo básico
Supongamos que queremos escribir un mensaje que sea “Eres mayor de edad” si edad
es mayor o igual a 18, y “Eres menor de edad” si edad
es menor de 18.
Podríamos escribir el código de la siguiente manera:
const edad = 18;
let mensaje;
if (edad >= 18) {
mensaje = "Eres mayor de edad";
} else {
mensaje = "Eres menor de edad";
}
console.log(mensaje); // Resultado: Eres mayor de edad
Sin embargo, utilizando un condicional ternario, podemos simplificar este código en forma más compacta.
const edad = 18;
const mensaje = edad >= 18 ? 'Eres mayor de edad' : 'Eres menor de edad';
console.log(mensaje); // Resultado: Eres mayor de edad
Anidamiento de operadores ternarios
Es posible anidar operadores ternarios para expresiones condicionales más complejas. Por ejemplo,
const calificacion = 80;
const resultadoFinal = calificacion >= 90 ? 'A' :
calificacion >= 80 ? 'B' :
calificacion >= 70 ? 'C' :
'D';
console.log(resultadoFinal); // Resultado: B
En este ejemplo, se utiliza un anidamiento de operadores ternarios para asignar una calificación basada en un puntaje.
Sin embargo, es importante mantener la legibilidad del código al hacerlo.
Ejemplos prácticos
Comparar dos números y determinar el mayor
Supongamos que tenemos dos variables, “a” y “b”, que representan dos números enteros, y queremos determinar cuál de los dos es mayor. Podríamos escribir el código de la siguiente manera:
let a = 5;
let b = 8;
let mayor;
if (a > b) {
mayor = a;
} else {
mayor = b;
}
Con el condicional ternario, podemos reducir este código a una sola línea:
let a = 5;
let b = 8;
let mayor = (a > b) ? a : b;
Nuevamente, el condicional ternario nos permite realizar la evaluación y asignación en una sola línea, simplificando nuestro código y haciéndolo más fácil de leer.
Asignación de valores
El operador ternario es útil cuando se necesita asignar un valor basado en una condición simple en una sola línea de código.
let edad = 20;
let categoria = (edad >= 18) ? "adulto" : "menor de edad";
console.log(`La persona es ${categoria}`);
Este ejemplo asigna la cadena “adulto” a la variable categoria
si la edad
es mayor o igual a 18; de lo contrario, asigna la cadena “menor de edad”.
Valor de retorno en funciones
El operador ternario también se puede utilizar para determinar el valor de retorno de una función basado en una condición.
function obtenerSaludo(esFormal) {
return esFormal ? "Buenos días, señor(a)" : "Hola";
}
Esta función obtenerSaludo
devuelve “Buenos días, señor(a)” si el parámetro esFormal
es verdadero; de lo contrario, devuelve “Hola”.
Manejo de valores por defecto
El operador ternario también puede ser útil para asignar valores por defecto en función de una condición.
let nombre = usuario ? usuario.nombre : "Invitado";
En este ejemplo, si la variable usuario
está definida, se asigna su propiedad nombre
a la variable nombre
. Si usuario
no está definido, se asigna la cadena “Invitado” como valor por defecto.
Estos ejemplos tienen el propósito de mostrar cómo utilizar el operador ternario. No significa que sea la mejor forma de resolver el problema que abordan.