Implicit binding uses the object context before the dot, while explicit binding uses call/apply/bind to set this. Implicit binding is lost when a method is passed as a callback or assigned to a variable.
Implicit binding relies on the object that the method is called on (obj.method()), setting this to that object. Explicit binding uses call, apply, or bind to manually specify this. Implicit binding is lost when a method is extracted from its object, e.g., const fn = obj.method; fn(); — now it's a standalone function, and default binding applies. Example: const obj = { name: 'Test', log() { console.log(this.name); } }; const fn = obj.log; fn(); // undefined (implicit binding lost).