Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

110
Vistas
Se ignora la condición en el caso del interruptor

Estoy tratando de usar una declaración de cambio de la siguiente manera. Pero incluso si el estado es 301, el caso case (status > 200 && status < 400) se ignora y el resultado es el caso "predeterminado". ¿Qué estoy haciendo mal? ¿No es posible usar condiciones en declaraciones de casos?

 status = 301; switch (status) { case 0: case 200: console.log('200'); break; case (status > 200 && status < 400): console.log('200-400'); break; case 404: console.log('404'); break; default: console.log('Si è verificato un errore irreversibile.'); }

Al final resolví con un simple if, pero me gustaría saber por qué esto no funciona.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

No es así como funciona switch / case en JavaScript; solo puede hacer coincidir valores, no condiciones. Lo que sucede aquí es que status > 200 && status < 400 se evalúa como true , y true obviamente no es lo mismo que 301 .

De hecho, una simple cadena if / else if /.../ else es la solución habitual aquí.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Esto se puede lograr siguiendo:

 const status = 301; switch (true) { case status === 0: case status === 200: console.log('200'); break; case (status > 200 && status < 400): console.log('200-400'); break; case status === 404: console.log('404'); break; default: console.log('Si è verificato un errore irreversibile.'); }

Pero estoy de acuerdo con la sugerencia de @Thomas, deberíamos preferir usar la cadena if / else para este tipo de problemas.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda