If you use the comma operator inside parentheses, it evaluates both items and returns the second. This is rarely used, but there are two canonical reasons for using the comma operator:
You can use the comma operator to have more complex login in a loop, like this:
for (var i = 0, j = 10; i < a && j > b; i++, j--) { }
You can use the comma operator to execute a statement before evaluating a condition, like this:
if (DoX(), CheckIfXHasBeenDoneSuccessfully()) { }
Other than that, the comma operator is basically naff. In your parentheses, (2,1)
, both 2 and 1 are evaluated and 2 is ignored and 1 is returned. You can use parentheses inside an array, but you will almost never want to put commas inside of the parentheses.
What I believe you want is something like this:
var bool = true; //or false, if you like
if(bool){ this.array[0] = X }
else { this.array[0] = Y }