# Группирующие скобки в JavaScript

При желании вы можете указывать приоритет операций с помощью круглых скобок. Давайте, например, переделаем наш код так, чтобы вначале выполнилось сложение, а уже потом умножение:

`let a = 2 * (2 + 3); alert(a); // выведет 10 (результат 2 * 5)`

Примечание: скобок может быть любое количество, в том числе и вложенных друг в друга:

`let a = 2 * (2 + 4 * (3 + 1)); alert(a);`

В скобки можно заключить операции, обладающие приоритетом - это не будет ошибкой. Например, заключим в скобки произведение чисел:

`let a = (2 * 2) + 3; alert(a); // выведет 7 (результат 4 + 3)`

В данном случае скобки получаются лишними (у умножения ведь и так приоритет), но код является допустимым.

Иногда такую группировку используют в тех местах, где приоритет операций не очевиден. Для примера рассмотрим следующий код:

`let a = 8 / 2 * 4; alert(a);`

Как вы уже знаете, в нем вначале выполнится деление, а потом умножение. Но с первого взгляда это может быть не слишком очевидно.

Можно использовать группирующие скобки, чтобы явно показать приоритет:

`let a = (8 / 2) * 4; alert(a);`

Не запуская код, определите, что выведется на экран:

`let a = (2 + 3) * (2 + 3); alert(a);`

Не запуская код, определите, что выведется на экран:

`let a = (2 + 3) * 2 + 3; alert(a);`

Не запуская код, определите, что выведется на экран:

`let a = 2 * (2 + 4 * (3 + 1)); alert(a);`

Не запуская код, определите, что выведется на экран:

`let a = 2 * 8 / 4; alert(a);`

Не запуская код, определите, что выведется на экран:

`let a = (2 * 8) / 4; alert(a);`

Не запуская код, определите, что выведется на экран:

`let a = 2 * (8 / 4); alert(a);`
←→
↑
en ru