Групиращи скоби в JavaScript

При желание можете да укажете приоритета на операциите с помощта на кръгли скоби. Нека, например, преработим нашия код така, че първо да се извърши събирането, и едва след това умножението:

javascriptlet a = 2 * (2 + 3);
alert(a); // ще изведе 10 (резултат 2 * 5)

Забележка: може да има произволен брой скоби, включително и вложени една в друга:

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

В скоби може да се заключат операции, които имат приоритет - това няма да бъде грешка. Например, нека заключим в скоби произведението на числата:

javascriptlet a = (2 * 2) + 3;
alert(a); // ще изведе 7 (резултат 4 + 3)

В този случай скобите се оказват излишни (умножението все пак има приоритет), но кодът е допустим.

Понякога такава групировка се използва на места, където приоритетът на операциите не е очевиден. Като пример, нека разгледаме следния код:

javascriptlet a = 8 / 2 * 4;
alert(a);

Както вече знаете, в него първо ще се извърши деленето, а след това умножението. Но на пръв поглед това може да не е очевидно.

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

javascriptlet a = (8 / 2) * 4;
alert(a);
Задание 1

Без да пускате кода, определете какво ще се изведе на екрана:

javascriptlet a = (2 + 3) * (2 + 3);
alert(a);
Задание 2

Без да пускате кода, определете какво ще се изведе на екрана:

javascriptlet a = (2 + 3) * 2 + 3;
alert(a);
Задание 3

Без да пускате кода, определете какво ще се изведе на екрана:

javascriptlet a = 2 * (2 + 4 * (3 + 1));
alert(a);
Задание 4

Без да пускате кода, определете какво ще се изведе на екрана:

javascriptlet a = 2 * 8 / 4;
alert(a);
Задание 5

Без да пускате кода, определете какво ще се изведе на екрана:

javascriptlet a = (2 * 8) / 4;
alert(a);
Задание 6

Без да пускате кода, определете какво ще се изведе на екрана:

javascriptlet a = 2 * (8 / 4);
alert(a);