He buscado un par de preguntas de stackoverflow, aunque no pude encontrar mi respuesta.
Estoy tratando de romper con una declaración else if y me preguntaba si había una manera más eficiente.
Aquí hay un fragmento:
var argument = "something"; if(argument == 'not_this'){ // this doesn't trigger } else if(argument){ // this triggers although if the functions in here doesn't match what I want, // how do I make It skip to the else statement without adding another else // if statement? } else { // do something if both statements above fail } ¿Hay algo que pueda hacer que salga del else if(argument)... sin agregar otra declaración else? Intenté usar el switch y el case aunque esos no parecen ayudar.
Gracias.
Puede establecer un indicador que sea true de forma predeterminada, y siempre que el argumento sea válido, lo establecerá en falso.
Luego, para saber cuándo ejecutar el bloque 'else', simplemente puede verificar si la bandera es verdadera o no:
var argument = "something"; let invalid = true if (argument == 'not_this') { // this doesn't trigger invalid = false } else if (argument) { if (typeof argument != 'string') { //valid invalid = false } } if (invalid) { console.log('invalid') }Reestructure el código para evitar estados confusos, elimine la verificación "si tiene valor".
if (argument) { if (argument === 'not_this') { // this doesn't trigger } } else { // do something if both statements above fail } Para la igualdad, es más seguro usar igualdad estricta === en lugar de igualdad flexible ==
Podrías intentar usar return; para salir de la declaración, ya que eso impediría que se leyera el resto del código.