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 ?:
ProblemaCargar 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> let v1 = parseInt(prompt('Ingrese primer valor:')); let v2 = parseInt(prompt('Ingrese segundo valor:')); let 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> let v1 = parseInt(prompt('Ingrese primer valor:')); let v2 = parseInt(prompt('Ingrese segundo valor:')); let 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.