# Duplicate parameters  in JavaScript Functions


## Duplicate parameters  in JavaScript Functions

### Firstly we will see duplicating parameters in regular JavaScript function.

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]

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)

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);  
    }


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

