Problem opcionih vitičastih zagrada u if-else
Uprkos tome što JavaScript dozvoljava gore prikazane skraćenice sa vitičastim zagradama, ja uopšteno ne preporučujem da se to radi, pošto je to leglo teško uočljivih grešaka. Neka na primer postoji sledeći kod:
let test = 3;
if (test > 0)
console.log(test);
Neka smo sada odlučili da u slučaju ako
je uslov ispunjen, ispišemo i drugu
poruku sa tekstom '+++':
let test = 3;
if (test > 0)
console.log(test);
console.log('+++');
Međutim, bez vitičastih zagrada unutar uslova se nalazi samo prva poruka. To jest, prva linija će se izvršavati pri tačnom uslovu, a druga - uvek.
Zapravo naš kod je ekvivalentan ovome:
let test = 3;
if (test > 0) {
console.log(test);
}
console.log('+++'); // ova linija se našla izvan uslova
A mi bismo želeli ovakav kod:
let test = 3;
if (test > 0) {
console.log(test);
console.log('+++'); // ova linija je unutar uslova
}
Upravo zbog toga se preporučuje uvek vršiti raspoređivanje vitičastih zagrada, kako ne bismo upadali u ovakve greške.