Operador ternario

Este es también el caso en muchos lenguajes imperativos, empezando con ALGOL en el que sería posible escribir resultado := if a > b then x else y, también Smalltalk (resultado := (a > b) ifTrue: [ x ] ifFalse: [ y ]) o Ruby (resultado = if a > b: x else y end).

: es similar a la manera como funcionan las expresiones condicionales (if-then-else) en lenguajes de programación funcional, como Scheme, ML y Haskell, puesto que if-then-else forma una expresión en lugar de una declaración en esos idiomas.

En tal caso, siempre es posible utilizar una llamada a la función, pero esto puede ser incómodo y poco elegante.

Por ejemplo, si desea pasar valores con condiciones diferentes como un argumento para un constructor de un campo o una clase base, no es posible utilizar un simple if-else, en este caso podemos usar una expresión de asignación condicional, o una llamada a la función.

Consideremos el siguiente ejemplo: En Java el operador ternario es también referido como el operador condicional y utiliza la misma sintaxis que los demás lenguajes basados en el lenguaje C. Por ejemplo, para verificar que una persona es mayor de edad, utilizaríamos lo siguiente: Remplazaria el siguiente código detallado: Para utilizar el operador ternario en JavaServer Pages, se puede incrustrar código de Java usando scriptlets.

Esta manera no es recomendada, lo cual se sugiere usar bibliotecas de JSTL para obtener código más limpio y estructurado.

Por ejemplo, para alternar el color de las filas en una tabla de HTML usando CSS, pudiéramos utilizar lo siguiente: Un constructor tradicional de if-else en Perl o PHP se escribiría así: Reescrito con el operador ternario, se vería así: Desde la versión 5.3, PHP soporta una sintaxis del operador ternario.

NET 9.0, lanzado como Visual Studio 2008, un operador ternario real fue introducido usando como clave IF en vez de IIF.

Esto permite que el siguiente código funcione: Usando IIF, persona.Nombre se evaluaría incluso si el valor de persona es nothing (nulo), causando una excepción.