this es dinámico. Su valor cambia según cómo se llama a la función.
Enlace Explícito (Explicit Binding)
Forzando el Contexto
A veces quieres forzar a una función a usar un objeto específico como this. Usamos .call() o .bind().
javascript
const persona1 = { nombre: "Alice" };
const persona2 = { nombre: "Bob" };
function presentarse(interes) {
console.log(`Hola, soy ${this.nombre} y me gusta ${interes}.`);
}
// 1. Call: Invoca inmediatamente
presentarse.call(persona1, "Programar");
// 2. Bind: Devuelve una NUEVA función para usar después
// ¡Muy útil en manejadores de eventos de React!
const bobIntro = presentarse.bind(persona2);
bobIntro("Jugar");Arrow Functions
A las funciones flecha no les importa el binding. Simplemente usan el this del código que las rodea (Alcance Léxico). Por eso las usamos en componentes React.