11.14 Comma operator ,

2010-05-22

Expression :
AssignmentExpression
Expression , AssignmentExpression

ExpressionNoIn :
AssignmentExpressionNoIn
ExpressionNoIn , AssignmentExpressionNoIn

Code: (Meta Ecma)
function evaluate(Expression , AssignmentExpression) {
var lref = evaluate(Expression);
GetValue(lref); // can have observable side effects, result is discarded
var rref = evaluate(AssignmentExpression);
return GetValue(rref);
}

The NoIn version behaves identical.

Note that GetValue is called on the left expression, even though the result is completely discarded. This is because there might be observable side effects to this.