Context loss occurs when a function loses its intended this binding, often when passing a method as a callback. The three common fixes are: using .bind(), arrow functions, or storing this in a variable (e.g., const self = this).
Context loss happens when a method is detached from its object, causing this to revert to default binding (global or undefined). This frequently occurs with callbacks. The three most common production fixes are: (1) .bind() — explicitly bind the method to the object: setTimeout(this.method.bind(this), 100); (2) Arrow functions — capture lexical this: setTimeout(() => this.method(), 100); (3) Store this in a variable — pre-ES6 pattern: const self = this; setTimeout(function() { self.method(); }, 100);.