Grupeerivad sulud JavaScriptis
Soovi korral saate operatsioonide prioriteeti määrata ümarsulgude abil. Teeme näiteks oma koodi ümber nii, et esmalt sooritatakse liitmine ja alles seejärel korrutamine:
let a = 2 * (2 + 3);
alert(a); // kuvab 10 (tulemus 2 * 5)
Märkus: sulge võib olla suvaline arv, kaasa arvatud üksteise sisse pandud:
let a = 2 * (2 + 4 * (3 + 1));
alert(a);
Sulgudesse võib panna prioriteediga operatsioone - see ei ole viga. Näiteks paneme sulgudesse arvude korrutise:
let a = (2 * 2) + 3;
alert(a); // kuvab 7 (tulemus 4 + 3)
Sel juhul osutuvad sulud üleliigseteks (korrutisel on ju juba prioriteet), kuid kood on lubatud.
Mõnikord kasutatakse sellist grupeerimist kohtades, kus operatsioonide prioriteet pole ilmne. Vaatame näitena järgmist koodi:
let a = 8 / 2 * 4;
alert(a);
Nagu te juba teate, sooritatakse selles esmalt jagamine ja seejärel korrutamine. Kuid esimesest pilgust ei pruugi see olla ilmne.
Prioriteedi selgeks näitamiseks võib kasutada grupeerivaid sulgu:
let a = (8 / 2) * 4;
alert(a);
Koodi käivitamata määrake, mis ekraanile kuvatakse:
let a = (2 + 3) * (2 + 3);
alert(a);
Koodi käivitamata määrake, mis ekraanile kuvatakse:
let a = (2 + 3) * 2 + 3;
alert(a);
Koodi käivitamata määrake, mis ekraanile kuvatakse:
let a = 2 * (2 + 4 * (3 + 1));
alert(a);
Koodi käivitamata määrake, mis ekraanile kuvatakse:
let a = 2 * 8 / 4;
alert(a);
Koodi käivitamata määrake, mis ekraanile kuvatakse:
let a = (2 * 8) / 4;
alert(a);
Koodi käivitamata määrake, mis ekraanile kuvatakse:
let a = 2 * (8 / 4);
alert(a);