An IIFE (Immediately Invoked Function Expression) is a JavaScript function that is defined and executed immediately after it's created. It's a design pattern that allows you to execute code once without polluting the global namespace. The function is enclosed within parentheses to turn it into an expression, and then immediately invoked with another set of parentheses. This pattern is particularly useful for creating private scopes and avoiding variable hoisting issues.