In JavaScript, we can use what are called Immediately Invoked Function Expression, or IIFEs. These are helpful for having functions run immediately when they are defined, such as when initializing an application. Let’s imagine we have the following function…
function nameTheZoo() {
zooName = “Como”;
}
Normally, we would run this function by calling it as follows…
nameTheZoo();
If we want to use an IIFE, which uses an anonymous function, we don’t have to call it. It just runs. First we remove the name as follows…
function() {
zooName = ‘Como’;
}
But how do we run it? We wrap it in parentheses as follows…
(function() {
zooName = ‘Como’;
})();
Now we have turned it into an IIFE and it will run immediately. What if we want to pass data to it? That is what the last set of parentheses is for…
(function(name) {
zooName = name;
console.log(zooName);
})(‘Como’);
Also, it is common to assign an IIFE to a variable to encapsulate the entirety of the function, which helps in namespaces. Here is an example…
let app = (function() {
zooName = ‘Como’;
})();
Happy Coding!
Clay Hess