Tengo un código en el que declaro un miembro de clase privado usando "#" y luego lo inicializo en el constructor y luego, cuando intento establecer/acceder al valor, aparece el siguiente error
Uncaught TypeError: Cannot read private member #mouse from an object whose class did not declare it at mouseDownEventdonde mouseDownEvent es la función, donde trato de acceder a los valores
ejemplo de código: (consulte el código de EDICIÓN )
class Testing { #property; constructor() { this.#property = new Vector2(); } mouseDownEvent() { this.#mouse.x = somevalue; <- error is here } }EDITAR
class Testing { #mouse; constructor() { this.#mouse= new Vector2(); } mouseDownEvent() { this.#mouse.x = somevalue; <- error is here } }Dado que está pasando la función mouseDownEvent a un detector de eventos, el valor de this no será esta instancia de prueba cuando se invoque realmente. Por lo tanto, debe vincularlo a esta instancia cuando lo pase al controlador de eventos como se muestra a continuación.
window.addEventListener("mousedown", mouseDownEvent.bind(this)(), false)Puede leer más sobre Javascript bind() desde el siguiente enlace. https://www.javascripttutorial.net/javascript-bind/