Search code examples
javascriptoperator-keywordcomma-operator

How does the comma operator work in js?


I'm trying to understand how the comma operator (,) works in JavaScript, it seems to have a different behaviour when it's not put between parenthesis.

Can someone explain me why ?

Exemple for reference :

var a = 1; 
var b = 2; 
var c = (a,b);
console.log(c);
//output : as expected 
var c = a,b;
console.log(c);
//output : 1 


[EDIT] The title might be a bit confusing. My question is about a misconception between the coma operator and var attribution as somone explained further down

Therefore this subject is not a duplicate of that one What does a comma do in JavaScript expressions?


Solution

  • var c = (a,b);
    

    The above uses the comma operator. It evaluates as the value of its right-hand side (i.e. b).


    var c = a,b;
    

    This does not use the comma operator.

    The comma character here forms part of the var expression which takes a comma-separated list of variables to create in the current scope, each of which can have an optional assignment.

    It is equivalent to:

    var c = a;
    var b;