NashTech Insights

Different Ways to Declare Functions in JavaScript

Table of Contents
Functions in JavaScript


Functions are a fundamental building block of JavaScript. They allow you to encapsulate reusable blocks of code, making your programs more organized and easier to maintain. JavaScript provides multiple ways to declare functions, each with its own syntax and use cases. In this blog, we will explore the various ways to declare functions in JavaScript.

Function Declaration

The most common way to declare a function is using the function keyword followed by the function name, a list of parameters enclosed in parentheses, and the function body enclosed in curly braces. Here’s an example:

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

Function declarations are hoisted, meaning they are available throughout the scope in which they are defined. You can call the function before its actual declaration in the code.

Function Expression

Function expressions involve assigning a function to a variable. This can be useful when you want to create anonymous functions or pass functions as arguments to other functions. Here’s an example:

const subtract = function(a, b) {
  return a - b;

Function expressions are not hoisted, so you need to define them before you can use them.

Arrow Function Expression

Arrow functions are a concise way to write functions introduced in ECMAScript 6 (ES6). They have a shorter syntax compared to regular functions and automatically capture the surrounding this value. Here’s an example:

const multiply = (a, b) => a * b;

Arrow functions are particularly useful for short, single-expression functions.

Function Constructor

While less common and not recommended due to security and performance concerns, you can create functions using the Function constructor. It takes a list of arguments and the function body as its last arguments. Here’s an example:

const divide = new Function('a', 'b', 'return a / b');

Using the Function constructor can introduce security vulnerabilities if not used carefully, as it can execute arbitrary code.

Generator Function

Generator functions are a special type of function that can pause and resume their execution. They are declared using an asterisk (*) after the function keyword and use the yield keyword to yield values one at a time. Generator functions are useful for creating iterators for lazy evaluation.

function* countUp() {
  let i = 0;
  while (true) {
    yield i;


JavaScript offers a variety of ways to declare functions. Function expressions allow you to assign functions to variables, while arrow functions provide a concise syntax for simple functions. The function constructor and generator functions offer additional capabilities for specific use cases. Understanding these different methods will empower you to write more efficient, flexible, and organized code in JavaScript.

Finally, for more such updates and to read more about such topics, please follow our LinkedIn page Frontend Competency



Aanchal Agarwal is a Software Consultant at NashTech. Her practice area is web development. She is recognized as a multi-talented, multitasker, and adaptive to the different work environments. Her hobbies include watching movies, listening to music, and traveling. She likes to read books and explore new things.

Leave a Comment

Your email address will not be published. Required fields are marked *

Suggested Article

%d bloggers like this: