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

208
Views
Cómo cambiar 'esto' en una función lambda devuelta por un getter

He definido una clase que contiene un captador que devuelve una función lambda. Me gustaría cambiar el "esto" utilizado en la función devuelta, pero no encontré ninguna forma de hacerlo. Hice muchos intentos con function.call pero no importa qué, no obtuve el resultado esperado. ¡Así que necesito ayuda!

Aquí hay un código mínimo que reproduce el problema:

 class A { get fn() { return () => [this.name, this]; } } let a = new A(); a.name = "a"; let b = { name: "b" }; window.console.log(a.fn.call(b)); // How to get "b" ?

El resultado es :

 [ "a", { "name": "a" } ]

¿Cómo aplicar la función lambda devuelta a b ? y recibir el resultado esperado:

 [ "b", { "name": "b" } ]
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Debe tomar una función estándar en lugar de una función de flecha.

 class A { get fn() { return function () { return [this.name, this]; } } } let a = new A(); a.name = "a"; let b = { name: "b" }; console.log(a.fn.call(b)); // How to get "b" ?

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!