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

219
Visualizações
¿Por qué mis funciones se ejecutan en el orden incorrecto?

Quiero saber por qué mi programa genera I4 output y luego una I3 output ?

 var a = 4; var i = 0; var i3 = function() { console.log("I3 output") return i = i + 3 } var i4 = function() { console.log("I4 output") return i = 4 } (a > 3) && i3() || (a < 5) && i4(); console.log(i)

Quiero I3 output y luego I4 output . ¿Por qué no funciona esto?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Es porque te falta un punto y coma.

Esta :

 var i4 = function() { console.log("I4 output") return i = 4 } (a > 3)

se ejecuta asi:

 var i4 = function() { console.log("I4 output") return i = 4 }(a > 3) // <--- You are executing i4, passing it "a > 3" as argument

Nota al margen: Javascript le permite hacer esto, lo que lleva a un error; pero Typescript se queja. Dice que está llamando a una función con 1 argumento, cuando espera 0. Typescript realmente es una mejora con respecto a JS y me enseñó mucho al respecto.

Si agrega un punto y coma, la función se define, pero no se ejecuta:

 var a = 4; var i = 0; var i3 = function() { console.log("I3 output") return i = i + 3 }; var i4 = function() { console.log("I4 output") return i = 4 }; // <-- Add semicolon (a > 3) && i3() || (a < 5) && i4(); console.log(i)

over 4 years ago · Santiago Trujillo Relatório

0

Primero, le insto a que comience a usar punto y coma. ASI (inserción automática de punto y coma) es un proceso de corrección de errores , y encontrará este tipo de errores si no lo hace.

En segundo lugar, más allá de eso, tal vez considere declaraciones de funciones en lugar de expresiones de funciones. Nuevamente, el punto y coma faltante al final de i4 es el problema que causa el problema que se puede evitar con una declaración que no necesita terminar con ellos.

En tercer lugar, si desea llamar a ambas funciones, debe llamarlas por separado . Si usa un OR lógico , la segunda expresión no se evaluará porque la primera siempre se evaluará como verdadera.

 var a = 4; var i = 0; function i3() { console.log('I3 output'); return i = i + 3; } function i4() { console.log('I4 output'); return i = 4; } (a > 3) && i3(); (a < 5) && i4(); console.log(i);

over 4 years ago · Santiago Trujillo 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