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

203
Views
Si una clase llama a alguna función externa, entonces cómo acceder a esta referencia de clase en esa función externa

Considere el siguiente fragmento de código.

 function outsiderFunction(opt){ opt.helperMethod(); } class SomeClass { constructor(options) { this.options = options; } update() { outsiderFunction({ helperMethod: this.help }) } help() { this.helpUtil(); } helpUtil() { console.log('help util') } } const x = new SomeClass(); x.update();

La función de actualización de SomeClass llama a outsiderFunction pasando el método de ayuda como una de las funciones ( ayuda ) de la misma clase.

Pero ahora la función de ayuda también necesita llamar a una de las funciones de esa clase llamada helpUtil, pero dado que fue llamada por una función externa, esta referencia se refiere a la función externa y no a la clase.

Nota: no puedo traer una función externa dentro de la clase

Un tipo de solución alternativa que hice es como se muestra a continuación:

 function outsiderFunction(opt){ opt.helperMethod(); } class SomeClass { constructor(options) { this.options = options; } update() { outsiderFunction({ helperMethod: this.help, ReferenceClass: this }) } help() { let that = this.ReferenceClass; that.helpUtil(); } helpUtil() { console.log('help util') } } const x = new SomeClass(); x.update();

Ahora, quiero saber si hay una mejor manera de manejar esta situación ya que la solución alternativa no parece ser una buena práctica.

about 4 years ago · Juan Pablo Isaza
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!