Grouping operator ( )

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

Syntax

( )

Description

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.

Examples

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.

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
Grouping
1
12
1
3
3
1
1
18
4
10.1
1
1.0

See also

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Grouping