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

296
Views
¿Cómo obtener el nombre de la función en la función de flecha de JavaScript?

Quiero obtener el nombre de una función en una función de flecha.

En realidad, si escribimos

 function abc(){ let funcName = arguments.callee.name }

Pero en una función de flecha

 abc: ()=>{ let funcName = arguments.callee.name }

funcName devuelve ''

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

  • Las funciones de flecha no tienen un enlace de arguments . Pero tienen acceso al objeto de argumentos de la función principal sin flecha más cercana. Se confía en gran medida en los parámetros con nombre y de descanso para capturar los argumentos pasados a las funciones de flecha.
 function dummy() { return (() => arguments.callee.name)(); // dummy }
  • El valor de this función dentro de una flecha sigue siendo el mismo durante todo el ciclo de vida de la función y está vinculado al valor del entorno más cercano this proporciona.
 const obj = { // like a normal function, returns obj - defines like obj.a = function a() {}; a() { return this }, // arrow function uses global as this b: () => { return this }, }; console.log(obj.a() == obj) // true console.log(obj.b() == obj) // false console.log(obj.b() == window) // true
  • Las funciones de flecha nunca se pueden usar como funciones constructoras. Por lo tanto, nunca se pueden invocar con la nueva palabra clave. Como tal, no existe una propiedad prototipo para una función de flecha.

Por lo tanto, la única forma de obtener el nombre de una función de flecha es acceder a la referencia directa a la misma.

 const arrow = () => arrow.name; console.log(arrow()); // "arrow" const obj = { a: () => obj.a.name; } console.log(obj.a()); // "a"
over 4 years ago · Santiago Trujillo 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!