Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

How to make a function in JavaScript

If you're just starting to learn programming, you might have heard the term "function" thrown around quite a bit. Functions are a fundamental concept in programming, and they're essential for writing clean, efficient, and maintainable code. In this blog post, we're going to explore functions in JavaScript, one of the most popular programming languages for web development. We'll start with the basics, then dive into some examples and analogies to help you understand how functions work, and finally, we'll go through some best practices for using functions effectively in your code.

What is a function?

In simple terms, a function is a reusable piece of code that performs a specific task. To give you an analogy, think of a function like a recipe. A recipe contains a list of ingredients and a set of instructions that you can follow to create a dish. Similarly, a function takes some inputs (called arguments), processes them according to its instructions (called the function body), and then returns a result.

By defining a function, you can perform the same task multiple times without having to write the same code over and over again. This not only saves time and effort but also makes your code more readable and easier to maintain.

Defining a function in JavaScript

In JavaScript, there are several ways to define a function. We'll start with the most common method, which is the function keyword.

Function declaration

A function declaration starts with the function keyword, followed by the name of the function, a pair of parentheses, and a pair of curly braces. Here's the syntax:

function functionName() {
  // function body
}

For example, let's create a simple function called greet that displays a greeting in the console:

function greet() {
  console.log("Hello, world!");
}

To call (or invoke) this function, you simply write its name followed by a pair of parentheses:

greet(); // Output: "Hello, world!"

Function expression

Another way to define a function is by using a function expression. This involves assigning an anonymous function (a function without a name) to a variable. Here's the syntax:

const functionName = function() {
  // function body
};

For example, let's rewrite our greet function as a function expression:

const greet = function() {
  console.log("Hello, world!");
};

greet(); // Output: "Hello, world!"

Function expressions can be useful in certain situations, such as when you want to pass a function as an argument to another function.

Adding arguments to a function

In our earlier example, the greet function didn't take any input. But what if we want our function to display a personalized greeting based on the user's name? We can do this by adding arguments to our function.

Arguments are variables that you define within the parentheses of a function declaration or expression. When you call the function, you pass values for these variables, which the function can then use in its body. Let's modify our greet function to take a name argument:

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

Now, when we call the greet function, we need to pass a value for the name argument:

greet("Alice"); // Output: "Hello, Alice!"

You can add multiple arguments to a function by separating them with commas:

function greet(name, age) {
  console.log("Hello, " + name + "! You are " + age + " years old.");
}

greet("Bob", 30); // Output: "Hello, Bob! You are 30 years old."

Default argument values

In JavaScript, you can also assign default values to your function arguments. This can be useful if you want to provide a fallback value in case the user doesn't pass a value for that argument. To assign a default value, simply use the = operator followed by the desired value when defining the argument:

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

Now, if we call the greet function without passing a value for the name argument, it will use the default value "world":

greet(); // Output: "Hello, world!"

Returning a value from a function

So far, our functions have only been displaying messages in the console. But what if we want our function to return a value that we can store in a variable or use in another part of our code? To do this, we use the return keyword.

The return keyword is followed by the value or expression that you want the function to return. Once the return statement is executed, the function exits, and any code written after it will not be executed. Here's an example of a function that returns the sum of two numbers:

function add(a, b) {
  return a + b;
}

const sum = add(3, 4);
console.log(sum); // Output: 7

You can also use the returned value in other expressions or pass it to another function:

const doubleSum = add(3, 4) * 2;
console.log(doubleSum); // Output: 14

Conclusion

In this blog post, we've covered the basics of functions in JavaScript, including how to define, call, and pass arguments to functions. We've also discussed how to return values from functions and use them in your code.

Functions are a powerful tool for organizing and reusing your code, making it more efficient and maintainable. As you continue your programming journey, you'll undoubtedly encounter and write many functions, so it's essential to understand how they work and how to use them effectively.