Main types of functions in JavaScript: theory and examples

  



In JavaScript, functions are a fundamental part of the language and can be defined in several ways, each with specific characteristics and use cases. 

In this article, we’ll explore the main types of functions: 

  • Named Function
  • Anonymous Function
  • Arrow Function
  • IIFE
  • Callback Function
  • Recursive Function

🔗 Do you like Techelopment? Check out the website for all the details!

1. Named Function

A Named Function is a function declared with an identifying name. This type of function is commonly used when it needs to be called multiple times or to make code more readable.

Syntax

function greetUser(name) {
  console.log("Hello, " + name + "!");
}

Characteristics

  • Can be called from anywhere in the code after declaration (hoisting).
  • Has a name that can be used for recursion or debugging.

2. Anonymous Function

An Anonymous Function is a function without a name, typically assigned to a variable or passed as an argument to another function.

Syntax

const sayHello = function(name) {
  console.log("Hello, " + name + "!");
};

Characteristics

  • Has no name of its own.
  • Often used as a callback function or assigned to a variable.

3. Arrow Function

Arrow Functions are a concise way to write functions introduced in ES6. They provide a shorter syntax and do not bind their own this (very useful in certain contexts like classes or methods).

Syntax

const addNumbers = (a, b) => {
  return a + b;
};

Or in compact form:

const addNumbers = (a, b) => a + b;

Characteristics

  • Shorter syntax.
  • Does not have its own this, arguments, super, or new.target.

4. IIFE (Immediately Invoked Function Expression)

An IIFE is a function that is defined and executed immediately. It's very useful for avoiding global scope pollution.

Syntax

(function() {
  console.log("This runs immediately!");
})();

Or using an arrow function:

(() => {
  console.log("Executed instantly!");
})();

Characteristics

  • Executes code right after its definition.
  • Creates an isolated local scope.

5. Callback Function

A Callback Function is a function passed as an argument to another function, and it is invoked within that function to complete a routine or action.

Syntax

function fetchData(callback) {
  console.log("Fetching data...");
  callback();
}

function processData() {
  console.log("Data processed.");
}

fetchData(processData);

Characteristics

  • Useful for asynchronous operations (e.g., setTimeout, fetch, etc.).
  • Enables functional and asynchronous programming.

6. Recursive Function

A Recursive Function is a function that calls itself to solve a problem by breaking it down into smaller sub-problems.

Syntax

function factorial(n) {
  if (n === 0) {
    return 1;
  }
  return n * factorial(n - 1);
}

Characteristics

  • Calls itself with different parameters.
  • Always needs a base case to avoid infinite loops.

Conclusion

Understanding the different types of functions in JavaScript is essential for writing clean, reusable, and maintainable code. Depending on the context, each type of function offers unique advantages. Writing functions consciously leads to more elegant and performant code in both synchronous and asynchronous contexts.



Follow me #techelopment

Official site: www.techelopment.it
facebook: Techelopment
instagram: @techelopment
X: techelopment
Bluesky: @techelopment
telegram: @techelopment_channel
whatsapp: Techelopment
youtube: @techelopment