Me pregunto si es posible usar en javascript el resultado de una declaración if/else como condición para otra declaración if/else. Déjame visualizar esta idea con el código:
if ( if (thatstrue) { return true } else { return false } ) { do something }¡Sí! Puede usar el operador ternario si la declaración como condición de esa manera:
a = true; ifFunction = function() { if ( true && a ? true : false) { console.log('a is true'); } else { console.log('a is false'); } } ifFunction(); a= false; ifFunction();Estoy dando esta publicación de estilo de preguntas y respuestas porque tuve este problema hoy en una situación mucho más complicada con la conexión con otras condiciones y no pude buscar una respuesta simple y directa en ningún lado. Encontré una solución solo recordándome a mí mismo un operador ternario de línea e intentando usarlo. ¡Lo encontré funcionando! Los principiantes en js en su mayoría usan bloques condicionales if/else clásicos (que no puede usar de esa manera) y no están familiarizados con la declaración ternaria if/else, que simplemente puede usar como condición en otra declaración if else. Espero ayudar a algunos codificadores novatos como yo;) Si lo hice, por favor vótenme :D
Creo que la mejor manera de hacer esto siempre es abstraer la primera condición de una función. Incluso puede usarlo para tomar parámetros y agregar lógica adicional si necesita expandir el caso de uso.
var a = 'foobar' function checkForSomeACondition() { return a === myTrueCondition } // ...then if (checkForSomeACondition()){ // do something } else { // do something else }