Tengo una clase
class Foo { constructor(x, y) { this.x = x this.y = y Bar() { console.log(this.x, this.y) } Recuerdo haber visto un método para referirse a this. variables sin tener que especificar this. Algo como
class Foo { constructor(x,y) { this.x = x this.y = y Bar() { x,y = [this] // something like this console.log(x, y) // equivalent to this.x, this.y } Deseo esto porque tengo docenas de declaraciones que llaman a métodos en this.ctx , como this.ctx.rect() , y no quiero tener que tener this. antepuesto a todos ellos en aras de la legibilidad.
¿Hay una sintaxis para esto?
Puede deconstruir this como cualquier objeto de JavaScript,
Bar() { const {x, y} = this; }Sin embargo, no recomiendo hacer esto, parece que no escalaría bien como técnica.
Los objetos (incluidos los arreglos y las funciones) se manejan por referencia, lo que significa que si escribe
let a = this.ctx;
luego a apunta al mismo objeto que ctx y puede hacer a.rect() .