🧐Contextos de .this
En JavaScript, this es una palabra reservada que se refiere al contexto de ejecución actual.
📌 Contexto Global vs. Contexto de Función:
Global: En el contexto global (fuera de cualquier función),
thisse refiere al objeto global (windowen navegadores).Función Regular: Dentro de una función,
thistambién hace referencia al objeto global, a menos que la función sea un método de un objeto.📌 Problema Común con
this: Dentro de funciones anidadas o callbacks,thispuede no comportarse como se espera porque su valor cambia.
const usuario = {
nombre: 'Nicolas',
ciudadanías: ['Chile', 'Colombia', 'New Zealand'],
mostrarCiudadanías: function() {
this.ciudadanías.forEach(function(ciudadanía) {
console.log(this.nombre + ' tiene la ciudadanía de ' + ciudadanía);
});
}
};
usuario.mostrarCiudadanías();
// undefined tiene la ciudadanía de Chile
// undefined tiene la ciudadanía de Colombia
// undefined tiene la ciudadanía de New Zealand📌 Solución con Arrow Functions:
Las Arrow Functions no tienen su propio this, por lo que heredan el this del contexto en el que fueron definidas.
Última actualización