Проблем опционости витичастих заграда у if-else
Иако JavaScript дозвољава приказане скраћенице са витичастим заградама, ја уопштено не препоручујем да то радите, јер то је рассадник тешко уочљивих грешака. Нека за пример постоји следећи код:
let test = 3;
if (test > 0)
console.log(test);
Нека сада смо одлучили да у случају када је
услов испуњен, испишемо још и другу
поруку са текстом '+++':
let test = 3;
if (test > 0)
console.log(test);
console.log('+++');
Међутим, без витичастих заграда унутар услова се налази само прва порука. То значи да ће се прва линија извршавати када је услов тачан, а друга - увек.
Заправо наш код је еквивалентан овом:
let test = 3;
if (test > 0) {
console.log(test);
}
console.log('+++'); // ова линија се нашла изван услова
А ми бисмо желели овакав код:
let test = 3;
if (test > 0) {
console.log(test);
console.log('+++'); // ова линија је унутар услова
}
Управо зато се препоручује да увек извршавате распоређивање витичастих заграда, како не бисте упали у овакве грешке.