Operador condicional ternario (?:)

Devuelve una de dos expresiones, dependiendo de una condición.

test ? expression1 : expression2

Argumentos

  • test
    Cualquier expresión de tipo Boolean.

  • expression1
    Expresión devuelta si el argumento test es true. Puede ser una expresión de coma.

  • expression2
    Expresión devuelta si el argumento test es false. Puede ser una expresión de coma.

Comentarios

El operador ?: se puede utilizar como forma abreviada de una instrucción if...else. Se utiliza normalmente como parte de una expresión mayor en la que una instrucción if...else no sería práctica. Por ejemplo:

var now = new Date();
var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");

El ejemplo crea una cadena que contiene "Good evening" si es más tarde de las 6 p.m. El código equivalente que utiliza una instrucción if...else tendría el siguiente aspecto:

var now = new Date();
var greeting = "Good";
if (now.getHours() > 17)
   greeting += " evening.";
else
   greeting += " day.";

Requisitos

Versión 1

Vea también

Referencia

if...else (Instrucción)

Conceptos

Precedencia de operadores

Resumen de operadores