⚙️

How to Write Functions in JavaScript

JavaScriptBeginner

Function declarations, expressions, and arrow functions.

Code Example

JavaScript
// Function declaration (hoisted)
function greet(name) {
  return `Hello, ${name}!`;
}
console.log(greet("Alice"));

// Function expression
const add = function(a, b) {
  return a + b;
};
console.log(add(5, 3));

// Arrow function
const multiply = (a, b) => a * b;
console.log(multiply(4, 5));

// Arrow function with body
const calculate = (a, b) => {
  const sum = a + b;
  const product = a * b;
  return { sum, product };
};
console.log(calculate(3, 4));

// Default parameters
function createUser(name, role = "user") {
  return { name, role };
}
console.log(createUser("Alice"));
console.log(createUser("Bob", "admin"));

// Rest parameters
function sum(...numbers) {
  return numbers.reduce((total, n) => total + n, 0);
}
console.log(sum(1, 2, 3, 4, 5));

// Spread operator
const args = [1, 2, 3];
console.log(sum(...args));

// IIFE (Immediately Invoked Function Expression)
(function() {
  console.log("I run immediately!");
})();

// Arrow function IIFE
(() => {
  console.log("Arrow IIFE!");
})();

Explanation

Function declarations are hoisted. Arrow functions are concise and don't bind their own this. Use default params and rest/spread operators.

Related Tutorials