Deo zbornika Učimo Javascript
Uslovi i grananje
Programiranje se u znatnoj meri svodi na logiku, odnosno postavljanje uslova.
Uz pomoć poređenja i logičkih operatora, možemo postavljati najrazličitije vrste uslova. Na primer, ako je korisnik punoletan, prikaži sadržaj, ako nije, onda ništa. Proste uslove pravimo pomoću poređenja (jel ima 18 ili više godina), a složene spajanjem poređenja pomoću logičkih veznika (ima 18 godina i prihvatio je uslove korištenja i platio). I to je sve, to je suština programiranja.
Ako (if
)
Najprostiji uslovni izraz je ako (if
). Sastoji se od samog uslova, i ishoda koji se izvršava ako je uslov zadovoljen.
const godine = 19
if (godine >= 18)
console.log('Možeš pristupiti sajtu.')
Sve postaje mnogo realnije kad dodamo interakciju sa korisnikom, komandom prompt()
:
const godine = prompt('Unesi svoje godine')
if (godine >= 18)
console.log('Možeš pristupiti sajtu.')
Ako imamo više linija koje treba uslovno izvršiti, onda su nam neophodne vitičaste zagrade {}
oko njih:
const godine = prompt('Unesi svoje godine')
if (godine >= 18) {
console.log('Možeš pristupiti sajtu.')
console.log('Dobrodošao korisniče.')
}
Ako…inače (if...else
)
Ako želimo da izvršimo određenu operaciju kada uslov nije zadovoljen, dodajemo ključnu reč else
(inače):
const godine = prompt('Unesi svoje godine')
if (godine >= 18)
console.log('Možeš pristupiti sajtu.')
else
console.log('Nažalost, ne možeš pristupiti sajtu.')
Inače ako (else if
)
Ako želimo više uslova sa različitim ishodima, onda između if
i else
dodajemo ključne reči else if
:
const uloga = prompt('Unesi svoju ulogu')
if (uloga == 'admin')
console.log('Možeš pristupiti administratorskoj tabli.')
else if (uloga == 'korisnik')
console.log('Možeš pristupiti korisničkom sajtu.')
else if (uloga == 'gost')
console.log('Možeš pristupiti nekim delovima sajta.')
else
console.log('Nažalost, ne možeš pristupiti sajtu.')
Skretnica (switch
)
switch
je pregledniji način pisanja višestrukih uslova. Na primer, prethodni uslov možemo napisati u vidu skretnice:
const uloga = prompt('Unesi svoju ulogu')
switch(uloga) {
case 'admin':
console.log('Možeš pristupiti administratorskoj tabli.')
break
case 'korisnik':
console.log('Možeš pristupiti korisničkom sajtu.')
break
case 'gost':
console.log('Možeš pristupiti nekim delovima sajta.')
break
default:
console.log('Nažalost, ne možeš pristupiti sajtu.')
}
Primetite kočnicu (break
) koja stoji nakon svakog ishoda. Probajte da je izbacite i vidite kako će se program ponašati.