DEV Community

Cover image for Duplicate parameters in JavaScript Functions
capscode
capscode

Posted on • Edited on • Originally published at capscode.in

Duplicate parameters in JavaScript Functions

Hi Devs,

In this article i will introduce you to one of the most confusing and common doubt for every newbie devs, Duplicate parameters in javascript functions

Table Of Contents

First we will see duplicating parameters in regular JavaScript function.

//this is syntax of duplicating parameter in js function
function Func (first, second, first){
        console.log(first, second, first);
    }
Enter fullscreen mode Exit fullscreen mode

In non-strict mode, regular JavaScript functions allow duplicate named parameters

    function Func (first, second, first){
        console.log(first, second, first);
    }
     // first => 1  
     // second => 2
     // first => 3
    Func(1, 2, 3); // 3 2 3

    // first => 1
    // second => 2 
    // first => undefined
    Func(1,2); //undefined  [undefined, 2, undefined]
Enter fullscreen mode Exit fullscreen mode

Lets check this in strict mode,

    function Func(first, second, first){
        "use strict"; 
        console.log(first, second, first);  
    }
    //Throws an error because of duplicate parameters (Strict mode)
Enter fullscreen mode Exit fullscreen mode

In Strict mode we cannot duplicate the parameter name.

How do arrow functions treat duplicate parameters?

Now here is something about arrow functions:

Unlike regular functions, arrow functions do not allow duplicate parameters, whether in strict or non-strict mode. Duplicate parameters will cause a Syntax Error to be thrown._

    // Always throws a syntax error
    const Func =  (first, second, first)  =>                         
    {
        console.log(first, second);  
    }
Enter fullscreen mode Exit fullscreen mode

CONGRATULATIONS, YOU HAVE LEARNT ONE NEW TOPIC TODAY.
VISIT https://www.capscode.in/#/blog TO LEARN MORE...

Thanks,
CapsCode

Top comments (0)