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

184
Vistas
Manera más limpia y alternativa para escribir if y else con cheques JS

¿Cuáles son algunas alternativas para escribir una función if/else más limpia, mejor y más inteligente?

De hecho, estoy tratando de convertir mi código en algo más legible.

 const statusComment = () => { const isApproved = "🟢"; const unApproved = "🔴"; let status; // is approved and has comment. if (checkApproval && comment) { status = `${isApproved} — ${comment}`; // is not approved and has comment. } else if (!checkApproval && comment) { status = `${unApproved} — ${comment}`; // has comment. } else if (comment) { status = comment; // is approved. } else if (checkApproval) { status = isApproved; } else { // is not approved. status = unApproved; } return status; };
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Vamos a desglosarlo un poco: su cadena tiene dos partes que están unidas por un guión -

  1. La primera parte siempre está presente: depende del valor booleano de checkApproval .
  2. La segunda parte es opcional y depende del estado de veracidad del comment .

Además, tenga en cuenta que no es posible llegar a su tercera declaración, ya que el comment siempre es verdadero en las dos primeras declaraciones y se combina con una bandera booleana.

Por lo tanto, puede crear una matriz con la primera parte obligatoria con esta declaración ternaria:

 const status = [checkApproval ? "🟢" : "🔴"];

Para la segunda parte opcional, la presionas cuando el comment es veraz:

 if (comment) status.push(comment);

Aquí está su código modificado:

 const statusComment = () => { const status = [checkApproval ? "🟢" : "🔴"]; if (comment) status.push(comment); return status.join(' — '); };
about 4 years ago · Juan Pablo Isaza Denunciar

0

Hagamos una tabla basada en su código existente:

 checkApproval comment out true true green - comment false true red - comment true comment duplicate/unnecessary? true green false red

Entonces vemos que si hay verdadero para checkApproval, es verde y rojo de lo contrario.

Hagámoslo ahora mismo:

 const status = `${checkApproval ? "🟢" : "🔴"}`;

Y si hay un comentario, hay un guión seguido del comentario. Esto lo podemos representar también:

 const status = `${checkApproval ? "🟢" : "🔴"}${comment ? " - " + comment : ""}`;

Si no hay ningún comentario, no se añade nada después.

Entonces podemos devolver status normalmente.

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