El operador ternario

Que levante la mano el que ha hecho alguna vez un código parecido a este:

Source   
  1. if(edad >= 18)
  2. {
  3. System.out.println("Es mayor de edad");
  4. }
  5. else
  6. {
  7. System.out.println("Es menor de edad");
  8. }

 

Supongo que el 50% habrá levantado la mano y el 50% no se habrá molestado porque no le puedo ver. Pues bien, este ejemplo lo podemos reducir a una sola línea gracias al operador ternario con el siguiente código en Java:

Source   
  1. System.out.println(edad >= 18 ? "Es mayor de edad" : "Es menor de edad");

Como podéis ver, esto nos permite hace un if en una sola línea. El esquema del operador terniario es el siguiente: variable = (condicion) ? resultado_true : resultado_false ; En este caso no hace falta almacenarlo en una variable porque directamente se lo pasamos como parámetro al System.out.println();

El operador ternario no sólo existe en Java. Veamos otro ejemplo esta vez en PHP:

Source   
  1. $numMayor = ($num1 > $num2) ? $num1 : $num2;

Este código almacena en la variable $numMayor el que sea mayor de las variables $num1 ó $num2.

Otro ejemplo de un uso más avanzado que reemplazaría a un Switch pero ahora en Javascript:

Source   
  1. var dia = 6;
  2. var diaLetra = dia == 1 ? 'Lunes' :
  3. dia == 2 ? 'Martes' :
  4. dia == 3 ? 'Miercoles' :
  5. dia == 4 ? 'Jueves' :
  6. dia == 5 ? 'Viernes' :
  7. dia == 6 ? 'Sábado' :
  8. dia == 7 ? 'Domingo' :
  9. 'Día incorreto';

Este código almacenaría en la variable diaLetra el día de la semana (en el ejemplo el Sábado) o “Día incorrecto” si no está en el rango [1-7].

Como veis tiene una sintaxis muy simple, nos ahorra bastante código y nos ofrece bastantes posibilidades.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *