Višestruko grananje sa else if u JavaScriptu
Sa običnim if-else grananjem, u programu možemo razdvojiti samo dve mogućnosti: ako je uslov zadovoljen i ako nije. Sada ćemo se upoznati sa jednom konstrukcijom koja nam omogućava da napravimo delove programa za više mogućnosti.
U suštini ideja je jednostavna. Proverimo jedan uslov, pa ako je zadovoljen, izvršava se zadati deo programa. Ako nije, proveravamo sledeći uslov i tako sve dok ne stignemo do dela programa koji se izvršava ako ni jedan uslov nije bio zadovoljen.
if ([izraz]) {
[naredbe]
}
else if ([izraz]) {
[naredbe]
}
else if ([izraz]) {
[naredbe]
}
...
else {
[naredbe]
}
Primeri sa else if konstrukcijom
if (ocena < 6) {
console.log("Loše");
}
else if (ocena < 8) {
console.log("Dobro");
}
else if (ocena < 10) {
console.log("Solidno");
}
else {
console.log("Odlično");
}
U ovom primeru se proverava da li je vrednost promenljive ocena manja od 6, i ako jeste, u konzoli se ispisuje tekst "Loše". U suprotnom, ponovo se proverava vrednost promenljive ocena, i ako je manja od 8 (a već znamo da je veća ili jednaka 6), ispisuje se "Dobro", u suprotnom (ako je veća ili jednaka 8), proverava se da li je manja od 10 i ako jeste, ispisuje se "Solidno". Ako nije ni to, znači da je ocena jednaka 10 (a možda i veća) pa se tada ispisuje "Odlično".
Ako bismo koristili obične if-ove, bez else, evo kako bi izgledala cela ova provera.
if (ocena < 6) {
console.log("Loše");
}
if ( (ocena >= 6) && (ocena < 8) ) {
console.log("Dobro");
}
if ( (ocena >= 8) && (ocena < 10) ) {
console.log("Solidno");
}
if ( (ocena >= 10) ) {
console.log("Odlično");
}
Kao što vidimo, bez else, odnosno konstrukcije else if, moramo da koristimo komplikovanije uslove.
Vežba
Šta bismo dobili kao ispis u konzoli kao rezultat izvršavanja sledećeg programa?
x = 5;
if (x < 3)
console.log("Malo");
else if (x > 7)
console.log("Puno");
else
console.log("Osrednje");
Kao što vidimo, vrednost promenljive x nije ni manja od 3 ni veća od 7, pa se u konzoli ispisuje tekst "Osrednje".