Grouping operator ( )

The grouping operator ( ) controls the precedence of evaluation in expressions.


( )


The grouping operator consists of a pair of parentheses around an expression or sub-expression to override the normal operator precedence so that operators with lower precedence can be evaluated before an operator with higher precedence. As it sounds, it groups what's inside of the parentheses.


Using the grouping operator

Overriding multiplication and division first, then addition and subtraction to evaluate addition first.

var a = 1;
var b = 2;
var c = 3;

// default precedence
a + b * c     // 7
// evaluated by default like this
a + (b * c)   // 7

// now overriding precedence
// addition before multiplication
(a + b) * c   // 9

// which is equivalent to
a * c + b * c // 9

Notice in these examples that the left-to-right order of evaluation is still preserved. In other words, the order in which the operators evaluate has changed, but the order in which the operands evaluate has not. For example in this code:

a() * (b() + c())

The function a will be called before the function b, which will be called before the function c.


ECMAScript Language Specification (ECMAScript)
# sec-grouping-operator

Browser compatibility

BCD tables only load in the browser

See also