El operador ternario condicional en JavaScript asigna un valor a una variable en función de alguna condición y es el único operador de JavaScript que toma tres operandos.
El operador ternario es un sustituto de una declaración if & amp; amp; nbsp; en la cual las cláusulas if y other asignan valores diferentes al mismo campo, así: 1
& lt; pre & gt; if (condición) & lt; br & gt ;
resultado = & amp; apos; algo & amp; apos ;; & lt; br & gt ;
de lo contrario & lt; br & gt ;
resultado = & amp; apos; somethingelse & amp; apos ;;
& lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; / pre & gt ;
Video destacado
El operador ternario acorta esta declaración if / else en una sola declaración:
& lt; pre & gt; resultado = (condición) ? & amp; apos; algo & amp; apos; : & amp; apos; athingelse & amp; apos ;;
& lt; / pre & gt ;
Si la condición es verdadera, el operador ternario devuelve el valor de la primera expresión; de lo contrario, devuelve el valor de la segunda expresión. Let & amp; apos; s considera sus partes: & amp; amp; nbsp;
- Primero, cree la variable a la que desea asignar un valor, en este caso, resultado . El resultado de la variable tendrá un valor diferente según la condición.
- Tenga en cuenta que en el lado derecho (es decir. el operador mismo), la condición es la primera.
- La condición siempre va seguida de un signo de interrogación ( ? ), que básicamente se puede leer como & amp; quot; era eso cierto?& amp; quot;
- Los dos resultados posibles son los últimos, separados por dos puntos ( : ).
Este uso del operador ternario está disponible solo cuando la declaración original if sigue el formato que se muestra arriba & amp; amp; nbsp; & amp; # x2014; but & amp; amp; nbsp; este es un escenario bastante común, y el uso del operador ternario puede ser mucho más eficiente.
Ejemplo de operador ternario
Let & amp; apos; s mira un ejemplo real.
Quizás necesite determinar qué niños tienen la edad adecuada para asistir al jardín de infantes. Puede tener una declaración condicional como esta:
& lt; pre & gt; var age = 7; & lt; br & gt ;
var kindergarten_eligible ;
& lt; / br & gt; & lt; / pre & gt ;
& lt; pre & gt; if (age & amp; amp; nbsp; & amp; gt; 5) {& lt; br & gt ;
kindergarten_eligible = & amp; quot; Old lo suficiente & amp; quot ;; & lt; br & gt ;
} & lt; br & gt ;
de lo contrario {& lt; br & gt ;
kindergarten_eligible = & amp; quot; Too young & amp; quot ;; & lt; br & gt ;
}
& lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; / pre & gt ;
Usando el operador ternario, puede acortar la expresión & amp; amp; nbsp; a:
& lt; pre & gt; var & amp; amp; nbsp; kindergarten_eligible = (edad & amp; lt; 5) ?& amp; amp; nbsp; & amp; quot; Too young & amp; quot; & amp; amp; nbsp ;: & amp; amp; nbsp; & amp; quot; Old lo suficiente & amp; quot ;;
& lt; / pre & gt ;
Este ejemplo, por supuesto, devolvería & amp; quot; lo suficientemente viejo.& amp; quot;
Evaluaciones múltiples
También puede incluir múltiples evaluaciones:
& lt; pre & gt; var age = 7, var socialmente_ready = true; & lt; br & gt ;
var kindergarten_eligible = (edad & amp; lt; 5) ? & amp; quot; Too young & amp; quot; & amp; amp; nbsp ;: socialmente_ready & lt; br & gt ;
& amp; quot; Suficientemente viejo pero aún no listo & amp; quot; & amp; quot; Viejo y socialmente lo suficientemente maduro & amp; quot; & lt; br & gt ;
consola.log (kindergarten_eligible); // logs & amp; quot; Lo suficientemente antiguo y socialmente maduro & amp; quot; & amp; amp; nbsp ;
& lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; / pre & gt ;
Operaciones múltiples
El operador ternario también permite la inclusión de múltiples operaciones para cada expresión, separadas por una coma:
& lt; pre & gt; var age & amp; amp; nbsp; = 7, socialmente_ready = true ;
& lt; / pre & gt ;
& lt; pre & gt; age & amp; gt; 5 & amp; amp; nbsp ;? (& lt; br & gt ;
alert (& amp; quot; eres lo suficientemente mayor.& amp; quot;), & lt; br & gt ;
location.assign (& amp; quot; continue.html& quot;) & lt; br & gt ;
): (& lt; br & gt ;
socialmente_ready = false, & lt; br & gt ;
alert (& amp; quot; Lo siento, pero aún no estás listo.& amp; quot;) & lt; br & gt ;
);
& lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; & lt; / pre & gt ;
Implicaciones del operador ternario
Los operadores ternarios evitan el código detallado, por lo que, por un lado, aparecen y amp; amp; nbsp; deseable. Por otro lado, pueden comprometer la legibilidad & amp; amp; nbsp; & amp; # x2014; obviamente, & amp; quot; IF ELSE & amp; quot; se entiende más fácilmente que un críptico & amp; quot ;?& amp; quot ;.
Cuando se usa un operador ternario & amp; amp; nbsp; & amp; # x2014; & amp; amp; nbsp; & amp; amp; nbsp; o cualquier abreviatura & amp; nbsp; & amp; amp; nbsp; & amp; x2014; & amp; nbsp; considere quién leerá su código. Si los desarrolladores menos experimentados pueden necesitar comprender la lógica de su programa, tal vez se debe evitar el uso del operador ternario. Esto es especialmente cierto si su condición y evaluaciones son lo suficientemente complejas como para necesitar anidar o encadenar a su operador ternario. De hecho, este tipo de operadores anidados puede afectar no solo la legibilidad sino también la depuración.
Al igual que con cualquier decisión de programación, asegúrese de considerar el contexto y la usabilidad antes de usar un operador ternario.& amp; amp; nbsp;
& amp; # x203A; Informática