JavaScriptda Guruhlovchi Qavslar
Istasangiz, amallarning ustuvorligini aylana qavslar yordamida ko'rsatishingiz mumkin. Keling, masalan, kodimizni qayta yozaylik, avval qo'shish bajarilsin, keyin ko'paytirilsin:
let a = 2 * (2 + 3);
alert(a); // 10 chiqadi (2 * 5 natijasi)
Eslatma: qavslar istalgan miqdorda bo'lishi mumkin, hatto bir-biriga ichki ham:
let a = 2 * (2 + 4 * (3 + 1));
alert(a);
Ustuvorlikka ega bo'lgan amallarni qavs ichiga olish mumkin - bu xato bo'lmaydi. Masalan, sonlar ko'paytmasini qavs ichiga olaylik:
let a = (2 * 2) + 3;
alert(a); // 7 chiqadi (4 + 3 natijasi)
Bu holda qavslar ortiqcha bo'ladi (ko'paytirishning allaqachon ustuvorligi bor), ammo kod qonuniydir.
Ba'zanda bunday guruhlash amallarning ustuvorligi aniq bo'lmagan joylarda qo'llaniladi. Misol sifatida quyidagi kodni ko'rib chiqaylik:
let a = 8 / 2 * 4;
alert(a);
Siz allaqachon bilasizki, unda avval bo'lish, keyin ko'paytirish bajariladi. Ammo birinchi qarashda bu aniq bo'lmasligi mumkin.
Ustuvorlikni aniq ko'rsatish uchun guruhlovchi qavslardan foydalanish mumkin:
let a = (8 / 2) * 4;
alert(a);
Kodni ishlamasdan, ekranga nima chiqishini aniqlang:
let a = (2 + 3) * (2 + 3);
alert(a);
Kodni ishlamasdan, ekranga nima chiqishini aniqlang:
let a = (2 + 3) * 2 + 3;
alert(a);
Kodni ishlamasdan, ekranga nima chiqishini aniqlang:
let a = 2 * (2 + 4 * (3 + 1));
alert(a);
Kodni ishlamasdan, ekranga nima chiqishini aniqlang:
let a = 2 * 8 / 4;
alert(a);
Kodni ishlamasdan, ekranga nima chiqishini aniqlang:
let a = (2 * 8) / 4;
alert(a);
Kodni ishlamasdan, ekranga nima chiqishini aniqlang:
let a = 2 * (8 / 4);
alert(a);