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

216
Vistas
¿Cómo puedo acceder a un diccionario en su propia clase/contexto para definir un método?

Un ejemplo atenuado es esta clase, que hereda de PublishableAction (para proporcionar la función estática .viewController() así como otros métodos que se usan donde está // ... ):

 class Action extends PublishableAction { static actionSelector = { buttonCommit: Symbol() }; // This part still works as intended, accessing 'Action': static buttonSession = Action.viewController({ perform: Action.actionSelector.buttonCommit }); // ... but here's the issue: // ReferenceError: Cannot access 'Action' before initialization [Action.actionSelector.buttomCommit]() { // ... } }

Ya intenté usar [this.actionSelector.buttonCommit]() y [this.constructor.actionSelector.buttonCommit]() , ambos sin tener ningún efecto en el resultado.

¿Cómo puedo corregir el ReferenceError sin tener que mover Action.actionSelector al alcance global?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Es un patrón un poco extraño lo que estás tratando de lograr. ¿Pero tal vez tener un captador de "métodos" y devolver allí todos los métodos invocables que se basan en actionSelector?

 class Action extends PublishableAction { static actionSelector = { buttonCommit: Symbol() }; // This part still works as intended, accessing 'Action': static buttonSession = Action.viewController({ perform: Action.actionSelector.buttonCommit }); get methods() { return { [Action.actionSelector.buttonCommit]: function() { //... } }; } }

De lo que puede llamar (new Action()).methods[Action.actionSelector.buttonCommit]()

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