Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

191
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda