If you've spent any time reading through bundler output or older JavaScript codebases, you've almost certainly come across this pattern — an arrow function that wraps itself in parentheses and immediately calls itself. It's called an IIFE, Immediately Invoked Function Expression, and it was one of the more elegant solutions JavaScript developers came up with before native modules existed.
The idea is straightforward: by wrapping the function in parentheses, you turn it into an expression rather than a declaration, which means you can invoke it right away with the trailing (). Everything defined inside stays inside — no variable leakage, no global namespace pollution, just a clean isolated scope that runs once and disappears.
These days ES modules handle most of that job natively, so you won't write IIFEs as often from scratch. But understanding them still matters, partly because you'll encounter them in legacy code and bundler output, and partly because they're a good reminder of how JavaScript's scoping actually works under the hood.
What's a JS pattern that confused you for longer than you'd like to admit?
#JavaScript #Frontend #WebDevelopment #TypeScript
Nice post! Thanks for sharing!