How to Declare the Optional Function Parameters in JavaScript

This guide will explain how to declare optional parameters in a JavaScript function. When a function is created, it specifies certain variables within its definition that can be utilized inside the function’s body. These variables are referred to as function parameters. It is important to understand that function parameters do not have to be included during the function's declaration; they can instead be supplied when the function is invoked.

In this scenario, parameters are the values transmitted during the invocation of a function, while arguments pertain to the variables that are established within the function's definition.

Definition of Optional Parameters

An optional parameter allows the omission of certain parameters during a function call, thereby offering increased flexibility regarding the number of arguments that can be provided.

In simpler terms, if no parameters are defined, the function will run smoothly without errors related to absent parameters, which is a defining feature of optional parameters.

In JavaScript, all parameters can be designated as optional. This means that the user simply has to omit any arguments when invoking the function.

Different techniques are available for handling optional function parameters in JavaScript and each will be analyzed individually.

  • Setting default values for parameters
  • Employing the arguments.length property
  • Using the logical OR operator (||)
  • Setting default values for parameters

In this method, we will define the default values for the parameters. As a result, when the function is invoked without an argument for a particular parameter, it will employ the default value as the parameter's value. Furthermore, if a value is provided for that specific parameter, the function will utilize the provided value in place of the default.

Syntax

Users can adhere to the outlined syntax to set the default value for the parameter.

Example

function (parameter_1, parameter_2=default_value, parameter_3=default_value ){
   // parameter_2, and parameter_3 are optional parameters
}

Parameters

default_value – This can signify any type of value, encompassing strings, numerical values, or various other data types.

Example

In the subsequent illustration, users will learn how to set default values for parameters, thereby effectively handling optional parameters.

Example

<!DOCTYPE html>
<html>
<body>
   <h2>An illustration of how to declare optional function parameters by assigning default values.</h2>
   <h4>The outcome obtained when invoking the function with four parameters is as follows:</h4>
   <p id="result1"></p>
   <h4>The outcome obtained when invoking the function with two parameters is as follows:</h4>
   <p id="result2"> </p>
   <script type="text/javascript">
      let result1 = document.getElementById("result1");
      let result2 = document.getElementById("result2");
      function optionalParameter(contentdiv, number1, number2 = 10, number3 = 30) {
         contentdiv.innerHTML = " The value of <i> number2 </i> is " + number2 + ". The value of <i> number3 </i> is " + number3;
      }
      optionalParameter(result1, 15, 120, 240);
      optionalParameter(result2, 10);
   </script>
</body>
</html>

Output

In the preceding output, it is evident that when two arguments are supplied, the default values for the variables number2 and number3 are utilized, indicating that these arguments are optional within the function.

Employing the arguments.length property

In JavaScript, each function encompasses an object known as the arguments object, which holds the values of the parameters passed to it. The length property of this arguments object indicates the total number of parameters that have been supplied to the function. We will utilize conditional statements to assign values to any parameters that are absent.

Syntax

Developers can employ the subsequent syntax to retrieve the arguments.length property.

Example

function( param_1, param_2, param_3 ){
   if(arguments.length == 0){
      // assigning values to all parameters
      } else if(arguments.length == 1){
         // assigning values to last 2 parameters
      } else if(arguments.length == 2){
         // assigning value to the last parameter
      }
   }

Example

In this illustration, individuals will discover how to determine the total count of parameters by utilizing the argument.length property, as well as how to assign values to these parameters based on that total.

Example

<!DOCTYPE html>
<html>
<body>
   <h2>An illustration of how to declare optional function parameters utilizing the <i>arguments.length</i> property.</h2>
   <p>The result obtained when invoking the function with two parameters is as follows:</p>
   <p id="out1"></p>
   <p>The result obtained when invoking the function with a single parameter is as follows:</p>
   <p id="out2"> </p>
   <p>The result obtained when invoking the function without any parameters is as follows:</p>
   <p id="out3"> </p>
   <script type="text/javascript">
      let con1 = document.getElementById("out1");
      let con2 = document.getElementById("out2");
      let con3 = document.getElementById("out3");
      function optionalParam( num1, num2) {
         if (arguments.length === 0) {
            num1 = 45;
            num2 = 76;
         } else if (arguments.length == 1) {
            num2 = 76;
         }
         return num1*num2;
      }
      con1.innerHTML = optionalParam(2, 45);
      con2.innerHTML = optionalParam(50);
      con3.innerHTML = optionalParam();
   </script>
</body>
</html>

Output

The output presented indicates that the function invocations with varying arguments assign values to the parameters based on the size of the argument object.

Using the logical OR operator (||)

The logical OR operator (||) evaluates the initial operand and assigns its value to the variable if it is defined. When a function argument is missing for any given parameter, it is considered undefined, which leads the OR operator to assign a default value to the variable.

Syntax

To handle optional parameters using the OR operator, adhere to the syntax specified below.

Example

function(param_1, param_2, param_3) {
   let variable1=param_1 || default_value;
}

Parameters

default_value – Any value may be provided when specific parameters lack an assigned argument.

Example

In the following example, we will explore the logical OR operator and learn how optional parameters can be handled efficiently.

Example

<!DOCTYPE html>
<html >
<body>
   <h2>An illustration of how to declare optional function parameters utilizing the logical OR operator.</h2>
   <h4>The outcome derived from calling the function with a single argument:</h4>
   <h4 id="con1"> </h4>
   <h4>The outcome derived from calling the function with two parameters:</h4>
   <h4 id="con2"> </h4>
   <script>
      let con1 = document.getElementById("con1");
      let con2 = document.getElementById("con2");
      function optParam(condiv, descr1, descr2) {
         let variable1 = descr1 || "Example";
         let variable2 = descr2 || 765;
         condiv.innerHTML = "The output of description1 is " + variable1 + ". The output of description2 is " + variable2;
      }
      optParam(con1);
      optParam(con2, 54);
   </script>
</body>
</html>

Output

Conclusion

The utilization of optional parameters in JavaScript functions enhances both their efficiency and flexibility.

Regardless of whether you utilize "destructuring assignments" and "default parameters from ES6," or rely on traditional methods like the arguments object and the logical OR operator, crafting well-structured and efficient JavaScript code necessitates a solid understanding of these strategies. Consequently, by implementing optional parameters, you can enhance the versatility and resilience of your functions, subsequently improving the overall quality of your web applications.

Input Required

This code uses input(). Please provide values below: