Conceptos básicos de JavaScript: operadores ternarios

Mar 23 2023
¿Qué es un operador ternario? El operador ternario se usa para verificar las condiciones en su código en lugar de usar una instrucción if…else. También se llama operador condicional y hace que el código sea considerablemente más corto y más fácil de leer (la mayoría de las veces).
Foto de Tsvetoslav Hristov en Unsplash

¿Qué es un operador ternario?

El operador ternario se usa para verificar las condiciones en su código en lugar de usar una instrucción if…else. También se llama operador condicional y hace que el código sea considerablemente más corto y más fácil de leer (la mayoría de las veces).

Sintaxis

Echemos un vistazo a la sintaxis de un operador ternario:

condition ? trueExpression : falseExpression

condition — la condición que está evaluando. Por ejemplo: es la edad > 5.

trueExpression: esto es lo que debería suceder si el conditionestrue.

falseExpression: esto es lo que debería suceder si el conditionesfalse.

Ejemplo

A continuación se muestra un ejemplo que usa una declaración if...else para verificar si el automóvil debe moverse según el color del semáforo.

let color = ‘red’; // color of the traffic light
let carMovement;

if (color === 'red') {
  carMovement = 'stop';
} else {
  carMovement = 'go';
}

console.log(carMovement); //stop

let color = 'red'; // color of the traffic light
let carMovement = color === red ? 'stop' : 'go';

console.log(carMovement); //stop

También puede anidar o encadenar un operador ternario como una expresión dentro de otro operador ternario. A continuación se muestra un ejemplo para comprobar si un número es positivo, negativo o cero:

let num = 2;
let result = num >= 0 ? num === 0 ? 'zero' : 'positive' : 'negative';

console.log(result); //positive

let num = 2;
let result = (num >= 0) ? (num === 0 ? "zero" : "positive") : "negative";

console.log(result); //positive

¿Cuándo debería usar operadores ternarios?

Como se destaca en el ejemplo anterior, los operadores ternarios pueden acortar el código, pero cuando se usan operadores ternarios anidados complejos, tienden a hacer que el código sea menos legible y más confuso.

Una regla general sería pensar si alguien más en los próximos 2 años podrá leer y comprender su código con facilidad. Si la respuesta es no, use una declaración if...else en su lugar.

Sugerencia: si usa ESlint, ¡prohibe el uso de operadores ternarios anidados por completo!

Conclusión

Los operadores ternarios brillan solo cuando hacen que el código sea más fácil de leer, comprender y mantener. No se trata solo de acortar el código, así que utilícelos de manera efectiva.