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

218
Visualizações
¿Por qué esta función devuelve el último argumento cuando se llama justo después de la definición?
function foo(x) { return x; } foo(1); // returns 1 as expected function bar(x) { return x; }(1,2,3); // returns 3

No pude entender por qué la función de bar devuelve el último argumento. ¿Puede alguien explicármelo?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Su función bar() se interpreta como una declaración de función y no como una expresión de función , como resultado, (1, 2, 3) no es la sintaxis de llamada para funciones () , sino el operador de agrupación que usa la coma- operator , que devuelve el último valor de 3 (que luego se registra en la consola). Si está en líneas separadas, puede quedar más claro:

 function bar(x) { // declares a function bar console.log("running"); // never logged return x; } // Uses the grouping operator `( )`, with the comma operator (1,2,3); // returns 3

Si hace que bar() sea una expresión de función, entonces se comportará como se esperaba (aquí estoy usando unario más + para lograrlo):

 +function bar(x) { console.log("running"); // logged return x; }(1,2,3); // returns 1

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