Listado completo de tutoriales

Operador condicional ?:


El operador condicional ?: remplaza en algunos casos a estructuras if/else sencillas con el objetivo de escribir un código más compacto o corto.

Veamos primero un ejemplo resuelto con el if y luego modificado para emplear el operador condicional ?:

Problema

Cargar dos valores por teclado, luego almacenar en una variable el mayor de los dos valores ingresados.


<!DOCTYPE html>
<html>
<head>
  <title>Ejemplo de JavaScript</title>
  <meta charset="UTF-8">
</head>
<body>

<script>
  var v1=prompt('Ingrese primer valor:','');
  var v2=prompt('Ingrese segundo valor:','');
  v1=parseInt(v1);
  v2=parseInt(v2);
  var mayor;
  if (v1>v2)
    mayor=v1;
  else
    mayor=v2;
  document.write('El mayor de los dos valores es:'+mayor);
</script>
  
</body>
</html>

Ahora el mismo problema pero empleando el operador codicional ?:

<!DOCTYPE html>
<html>
<head>
  <title>Ejemplo de JavaScript</title>
  <meta charset="UTF-8">
</head>
<body>

<script>
  var v1=prompt('Ingrese primer valor:','');
  var v2=prompt('Ingrese segundo valor:','');
  v1=parseInt(v1);
  v2=parseInt(v2);
  var mayor;
  v1>v2 ? mayor=v1 : mayor=v2;
  document.write('El mayor de los dos valores es:'+mayor);
</script>
  
</body>
</html>

El operador ternario en el ejemplo lo podemos identificar en la siguiente línea:

  v1>v2 ? mayor=v1 : mayor=v2;

El operador ternario tiene la siguiente sintaxis:

  condición ? instrucción 1 : instrucción 2;

La condición es lo primero que indicamos a la izquierda del carácter "?". La condición siempre debe generar un resultado de tipo boolean (true/false)

Si la condición se verifica verdadera se ejecuta la instrucción 1, que es la que se encuentra a la izquierda del carácter ":", en cambio si la condición se verifica false se ejecuta la instrucción 2.

Retornar