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

233
Vistas
Compacto de una sola línea para cada declaración de caso en una declaración de cambio - JavaScript

No pude encontrar ninguna documentación o preguntas sobre si es posible escribir las declaraciones de case en una declaración de cambio en una línea ni cuál es la mejor práctica y la forma de escribirlas en una línea en JavaScript.

Las preguntas más relacionadas fueron: Pregunta de CodeGrepper y Declaración de cambio para casos múltiples en JavaScript

Actualmente tengo una función con una declaración de cambio que devuelve el nombre de un producto:

 function returnProduct(product) { switch (product) { case 'aa': case 'AApple': return 'AApple'; case 'bb': case 'BananaBall': return 'BananaBall'; case 'ee': case 'ElephantElf': return 'ElephantElf'; default: return 'Sorry we don\'t have that yet'; } } console.log(returnProduct('aa')); console.log(returnProduct('error')); console.log(returnProduct('ee')); console.log(returnProduct('BananaBall'));

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

  • Solución 1

    Gracias a @Ryan Wheale, @Bergi y @TJ Crowder que me ayudaron a darme cuenta de que, dado que Javascript no requiere saltos de línea, todo podría escribirse en una sola línea separada por ; y no necesito poner ningún {} alrededor de las declaraciones de devolución. Si bien el siguiente fragmento de código responde a mi pregunta, también es importante mencionar que una sola línea como esta no es del todo legible y debe evitarse.

 function returnProduct(product) { switch (product) { case 'aa': case 'AApple': return 'AApple'; case 'bb': case 'BananaBall': return 'BananaBall'; case 'ee': case 'ElephantElf': return 'ElephantElf'; default: return 'Sorry we don\'t have that yet'; } } console.log(returnProduct('aa')); console.log(returnProduct('error')); console.log(returnProduct('ee')); console.log(returnProduct('BananaBall'));


  • Solución 2 : esta solución es un poco más legible y aún logra mi objetivo original de crear una declaración de switch compacta.

 function returnProduct(product) { switch (product) { case 'aa': case 'AApple': return 'AApple'; case 'bb': case 'BananaBall': return 'BananaBall'; case 'ee': case 'ElephantElf': return 'ElephantElf'; default: return 'Sorry we don\'t have that yet'; } } console.log(returnProduct('aa')); console.log(returnProduct('error')); console.log(returnProduct('ee')); console.log(returnProduct('BananaBall'));

Esta fue mi primera solución propuesta que resuelve mi problema, pero no la había probado lo suficiente y tenía algunos errores que la comunidad me ayudó a solucionar.

Espero que otros que hagan la misma pregunta puedan encontrar esto como una respuesta útil a la misma pregunta que yo tenía.

over 4 years ago · Santiago Trujillo Denunciar

0

Parece que te has perdido la declaración de descanso. O intenta usar el diccionario

 var x ='aa':'AApple','AApple':'AApple','bb':'BananaBall', 'BananaBall':'BananaBall'}; var key='aa'; var z; if(x[key] !== undefined) return x[key];
over 4 years ago · Santiago Trujillo 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