Групиращи скоби в 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);