Una pequeña adición a esto muy, muy antiguo hilo ..
Digamos que estás por dentro de un bucle for
y la necesidad de evaluar una variable para un valor truthy/falsy
con un operador ternario, mientras que en caso de que sea falsy
desea continue
- vas a tener un problema porque estás por no devolver un expresión, devuelve en su lugar una declaración sin ningún valor.
Esto producirá Uncaught SyntaxError: Unexpected token continue
for (var i = 0; i < myArray.length; i++) {
myArray[i].value ? alert('yay') : continue;
}
Por lo tanto, si desea devolver una declaración y seguir utilizando una línea para el código, si bien puede parecer un poco extraño a primera vista, y no puede seguir el uso del lenguaje estricta , se puede hacer esto en su lugar:
for (var i = 0; i < myArray.length; i++) {
if (myArray[i].value) alert('yay') ; else continue;
}
- PS - este código puede ser difícil de leer o comprender lo que no siempre será la mejor opción para usar. Solo digo ... :)
Creo que hay una 'var | sintaxis var' Cuidado ya que es potencialmente difícil "ver", especialmente (IMO) ternaries siendo problemático. Utilizar con moderación. –
@JaredFarrish ¿No es el objetivo de Ternaries que sean más fáciles de "ver" que usar declaraciones if? Además, ¿de qué está hablando esa sintaxis? Parece interesante. – Hassan
No, no creo que sean más fáciles en todos los casos. El "punto total" en mi mente es ponerlo todo en una línea ("mis códigos son más cortos que el tuyo") o para casos literales específicos con resultados simplistas. Apilar ternaries es particularmente pernicioso y debe evitarse a toda costa. ':)' –