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);