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

206
Vistas
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
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