Cómo usar ‘esta’ palabra clave en JavaScript

Hay varias formas de usar esta palabra clave

Para comparar objetos globales

console.log (this.document === documento); // cierto
esto.a = 37
console.log (window.a) // -> 37 ya que window es el objeto global

En llamadas de función

Sin modo estricto

función f1 () {
devuelve esto;
}

ventana f1 () ===; // objeto global

Nota: dado que este no es un modo estricto, no da ningún error y por defecto es un objeto global y, por lo tanto, es verdadero

Con modo estricto

función f1 () {
uso estricto
devuelve esto;
}

f2 () === indefinido; //cierto

Nota: cuando se usa estricto, significa que si el valor no está definido, entonces se asigna indefinido y esto no es predeterminado para el objeto global

Método de objeto

var o = {
apoyo: 37,
f: función () {
devuelve this.prop; // aquí esto se refiere a o
}
};

console.log (de ()); // registros 37

Una alternativa

var o = {prop: 37}; //Crear objeto

función independiente () {
devuelve this.prop;
} // crea una función que devuelve la propiedad prop de la persona que llama

de = independiente; // asigna la propiedad f de la función

console.log (de ()); // registra 37 porque o es la persona que llama y el accesorio de acceso de o

Más información sobre MDN Docs esto

Esto se refiere al objeto actual, es decir, se llama al objeto desde dentro.
Cuando se llama fuera de cualquier otro objeto, puede referirse a los objetos globales (objeto de ventana u objeto de documento).

MDN es el mejor recurso provisto por el usuario de Quora.

La diapositiva 17-24 de ppt en Programación orientada a objetos en JavaScript también explica cómo se puede usar esto.