Arrow functions inherit this lexically from their enclosing scope and do not have their own this binding, unlike regular functions which have dynamic this based on how they are called.
Arrow functions do not have their own this binding. Instead, they capture the this value from their enclosing lexical scope at the time they are defined. This makes them ideal for callbacks and preserving context. Regular functions, conversely, determine their this based on the call site (implicit, explicit, default, or new binding). Example: const obj = { name: 'Arrow', regular: function() { console.log(this.name); }, arrow: () => console.log(this.name) }; obj.regular(); // 'Arrow'; obj.arrow(); // undefined (inherits from outer scope).