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

183
Vistas
Cierre de Javascript: ¿por qué no se muestra indefinido?

Estoy tratando de entender cómo funciona el cierre en Javascript. En la última línea, si ingreso sayHi("Hello"))("John Doe"), la consola mostrará "HelloJohn Doe" como se esperaba.

Ahora, si elimino ("John Doe"), ¿por qué la consola se queda en blanco en lugar de mostrar "Helloundefined"?

 function sayHi(whattosay){ return function yolo(name) { console.log(whattosay + name) } } sayHi("Hello")
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Eso es porque aún necesita llamar a la función, incluso si no desea proporcionar el parámetro "nombre".

Prueba con: sayHi("whatever")()

¡y verás el resultado esperado!

lo que sea indefinido

Si omite el último par de paréntesis, solo está obteniendo una función que IMPRIMIRÍA el resultado esperado si la llamara, pero aún no la está llamando.

por lo que podría, por ejemplo, almacenar esa función devuelta en alguna variable y llamarla más tarde.

about 4 years ago · Juan Pablo Isaza Denunciar

0

esto devolverá tu función interna yolo

 function sayHi(whattosay){ return function yolo(name) { console.log(whattosay + name) } } sayHi("Hello")

necesita llamar a la función yolo para ver su salida de console.log

 function sayHi(whattosay){ return function yolo(name) { console.log(whattosay + name) } } sayHi("Hello")()

incluso puede almacenar la función de retorno en una variable y llamarla

 function sayHi(whattosay){ return function yolo(name) { console.log(whattosay + name) } } const yolo = sayHi("Hello") yolo()
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