Ryhmittävät sulkeet JavaScriptissä

Halutessasi voit määrittää operaatioiden prioriteetin pyöreiden sulkeiden avulla. Muutetaanpa esimerkiksi koodiamme niin, että ensin suoritetaan yhteenlasku ja vasta sitten kertolasku:

javascriptlet a = 2 * (2 + 3);
alert(a); // tulostaa 10 (tulos 2 * 5)

Huomio: sulkeita voi olla määritä tahansa määrä, mukaan lukien toistensa sisäkkäin:

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

Sulkeisiin voidaan laittaa prioriteettisia operaatioita - tämä ei ole virhe. Esimerkiksi, laitetaan lukujen tulo sulkeisiin:

javascriptlet a = (2 * 2) + 3;
alert(a); // tulostaa 7 (tulos 4 + 3)

Tässä tapauksessa sulkeet ovat ylimääräisiä (kertolaskulla on kuitenkin prioriteetti), mutta koodi on sallittua.

Joskus tällaista ryhmittelyä käytetään paikoissa, joissa operaatioiden prioriteetti ei ole ilmeinen. Esimerkkinä tarkastellaan seuraavaa koodia:

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

Kuten jo tiedät, siinä suoritetaan ensin jakolasku ja sitten kertolasku. Mutta ensi silmäyksellä se ei ehkä ole ilmeistä.

Voit käyttää ryhmittäviä sulkeita osoittaaksesi prioriteetin eksplisiittisesti:

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

Suorittamatta koodia, päätä mitä näytölle tulostetaan:

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

Suorittamatta koodia, päätä mitä näytölle tulostetaan:

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

Suorittamatta koodia, päätä mitä näytölle tulostetaan:

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

Suorittamatta koodia, päätä mitä näytölle tulostetaan:

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

Suorittamatta koodia, päätä mitä näytölle tulostetaan:

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

Suorittamatta koodia, päätä mitä näytölle tulostetaan:

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