Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

172
Views
Por qué console.log muestra la definición de la función cuando se llama con el nombre de la función

Aquí hay algo que ejecuté

 function c(){ return 2+3; } console.log(c); console.log(c());

Entiendo lo que sucede detrás de escena cuando se ejecuta console.log(c()) , pero cuando se trata de console.log(c) estoy un poco confundido.

Para console.log(c) obtengo el resultado:

 fc(){ return 2+3; }

¿Que está sucediendo aquí?

¿Almacena c toda la definición de la función o almacena la dirección de la definición de la función?

Si almacena toda la definición de la función, ¿en qué forma almacena? ¿Se almacena como cadena?

O si almacena la dirección, ¿cómo? Porque cuando el proceso se ejecuta, la memoria contiene las instrucciones de la máquina, no el programa JavaScript. Entonces, ¿de dónde vino?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Una función es como un libro, cada uno tiene un título único y se almacenan en algún lugar de su almacenamiento. Entonces, cuando diga "Dame la función con el nombre 'c', por favor", te dará la función completa, no solo el nombre. Al igual que cuando estás en una biblioteca y pides un libro específico, te van a dar el libro completo y no solo la portada con el título.

si solo desea imprimir el nombre, simplemente diga console.log(c.name)

Espero que esto haya ayudado :)

about 4 years ago · Juan Pablo Isaza Report

0

Lo que se almacena en la memoria es el código fuente de la función. c es una referencia (dirección) a la ubicación en la memoria donde se almacena ese código fuente. Cuando el código se ejecuta, solo entonces se interpreta en instrucciones de máquina. Creo que incluso los motores como V8 todavía interpretan el código en tiempo de ejecución (aunque alguien con más conocimientos sobre ese tipo de motores puede corregirme aquí si me equivoco).

Como dijo Yousaf en su respuesta , llamar a cualquier objeto solo por su nombre automáticamente invoca el método toString() .

No sé si es posible en JavaScript acceder a la dirección exacta, como podría hacerlo en un lenguaje de nivel inferior como C.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!