Escriba "esto" dentro de un método de clase

Sé que esto es probablemente dolorosamente básico, pero me está costando mucho envolver mi cabeza en eso.

class Main
{
     constructor()
     {
         requestAnimationFrame(this.update);  //fine    
     }

     update(): void
     {
         requestAnimationFrame(this.update);  //error, because this is window
     }

}

Parece ser que necesito un proxy, así que digamos que usar Jquery

class Main
{
     constructor()
     {
         this.updateProxy = $.proxy(this.update, this);
         requestAnimationFrame(this.updateProxy);  //fine    
     }

     updateProxy: () => void
     update(): void
     {
         requestAnimationFrame(this.updateProxy);  //fine
     }

}

Pero viniendo de un fondo de ActionScript 3, no estoy realmente seguro de lo que está sucediendo aquí. Lo siento, no estoy seguro de dónde comienza Javascript y termina TypeScript.

updateProxy: () => void

Y también, no estoy convencido de que estoy haciendo esto bien. Lo último que quiero es que la mayoría de mi clase tenga una función a () a la que se deba acceder conaProxy() ¿Como siento que estoy escribiendo lo mismo dos veces? ¿Es normal?

Respuestas a la pregunta(5)

Su respuesta a la pregunta