IIFE (Immediately Invoked Function Expression)
How would you modify the 'this' value inside an IIFE?
You can modify the 'this' value inside an IIFE by using the 'bind', 'call', or 'apply' methods. For example: ```javascript (function() { console.log(this); }).call(someObject); // 'this' will be 'someObject' ``` Or with apply: ```javascript (function() { console.log(this); }).apply(someObject); // 'this' will be 'someObject' ``` Or with bind (though this creates a new function that needs to be invoked): ```javascript (function() { console.log(this); }).bind(someObject)(); // 'this' will be 'someObject' ``` This technique is useful when you need the code inside the IIFE to run in a specific context, such as when working with objects or constructing prototype methods. It's worth noting that if you use an arrow function for your IIFE, you can't modify its 'this' value using these methods, as arrow functions lexically bind 'this'.