Wednesday, February 4, 2026
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
32478 POSTS0 COMMENTS
Milvus
125 POSTS0 COMMENTS
Nango Kala
6849 POSTS0 COMMENTS
Nicole Veronica
11980 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12066 POSTS0 COMMENTS
Shaida Kate Naidoo
6987 POSTS0 COMMENTS
Ted Musemwa
7222 POSTS0 COMMENTS
Thapelo Manthata
6935 POSTS0 COMMENTS
Umr Jansen
6919 POSTS0 COMMENTS