Friday, October 24, 2025
HomeLanguagesJavascriptWhat is spread, default and rest parameters in JavaScript ?

What is spread, default and rest parameters in JavaScript ?

The default, spread, and rest parameters were added in ES6.

Default Parameter: It is used to give the default values to the arguments, if no parameter is provided in the function call.

Syntax:

function fnName(param1 = defaultValue1, ..., paramN = defaultValueN) { 
   ...
}

Example 1: In the below example, the first function gives result 7 whereas the second function call will be “undefined” as we did not pass any second argument. 

Javascript




<script>
    function add(a, b) {
        return a + b
    }
  
    console.log(add(5, 2)); // 7
    console.log(add(5)); // NaN
</script>


Output:

7
NaN

Example 2: In this example, we use default parameters in which we generally give a default value if no argument is provided. We take a default value of “b” so that in the second function call, we are not providing any argument, and its default value is taken.

Javascript




<script>
    function add(a, b = 3) {
        return a + b
    }
    console.log(add(5, 2))
    console.log(add(5))
</script>


Output:

7
8

Spread Operator:  It is another operator provided through ES6 it generally spreads data of array/list.

In the following example, we are calculating min of all the numbers

Example 1:

Javascript




<script>
    console.log(Math.min(1, 2, 3, -1)); 
</script>


Output:

-1

Example 2: Consider that we have an array instead of a list then the above min() function will not work and it will give “NaN”.

Javascript




<script>
    // Without spread operator
    let arr = [1, 2, 3, -1];
  
    console.log(Math.min(arr)); // NaN
</script>


Output:

NaN

Example 3:  When …arr is used, it generally spreads the arr values in the min() function.

Javascript




<script>
    // Spread operator
    let arr = [1, 2, 3, -1];
  
    console.log(Math.min(...arr)); // -1
</script>


Output:

-1

Rest Operator: It allows a function to accept an indefinite number of arguments if we are not sure how many arguments will receive.

Syntax:

function f(a, b, ...args) {
    ...
}

Example: In the below example, we are using the rest parameter which allows taking indefinite parameters.

Javascript




<script>
    function myFun(a, b, ...manyMoreArgs) {
        console.log("a", a)
        console.log("b", b)
        console.log("manyMoreArgs", manyMoreArgs)
    }
  
    myFun("one", "two", "three", "four", "five", "six");
</script>


Output:

 

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!
Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11954 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS