Uninstallme

Desarrollo front-end, estándares web, accesibilidad y más

Esta es la sintaxis del operador ternario, que equivale a una estructura de control de flujo if / else:


condicion ? instrucción si se cumple : instrucción si no se cumple;

Usando un ejemplo de código real podría ser así:


hasClassName(capa, clase) ? removeClassName(capa, clase) : addClassName(capa, clase);

Que para mayor legibilidad, si las instrucciones son muy largas, se puede separar en varias líneas:


hasClassName(capa, clase)
? removeClassName(capa, clase)
: addClassName(capa, clase);

Hasta ahora, siempre que había tenido que usar varias instrucciones en una condición, había abandonado el operador ternario en favor de una estructura if / else:


if(condicion){
    hazAlgo();
    yHazOtraCosa();
}
else{
    hazUnaCosa();
    hazOtraCosaMas();
}

Mediante el operador ternario podemos incluir varias instrucciones usando funciones anónimas:


condicion
? (function(){ hazAlgo(); hazOtraCosa();})()
: (function(){ hazUnaCosa(); hazOtraCosaMas();})();

Usando un ejemplo de código real, podría ser así:


hasClassName(capa, clase)
? (function(){ removeClassName(capa, clase); enlace.title = 'Ocultar';})()
: (function(){ addClassName(capa, clase); enlace.title = 'Mostrar';})();

Deja tu comentario

Campos obligatorios marcados con asterisco *