Problém voliteľnosti zložených zátvoriek v if-else

Napriek tomu, že JavaScript umožňuje vyššie uvedené skratky so zloženými zátvorkami, ja to vo všeobecnosti neodporúčam, pretože je to živná pôda pre ťažko zachytiteľné chyby. Nech je napríklad nasledujúci kód:

javascriptlet test = 3;

if (test > 0)
  console.log(test);

Povedzme, že sme sa teraz rozhodli, že v prípade, ak je podmienka splnená, vypísať ešte aj druhú správu s textom '+++':

javascriptlet test = 3;

if (test > 0)
  console.log(test);
  console.log('+++');

Avšak, bez zložených zátvoriek je vnútri podmienky len prvá správa. To znamená, že prvý riadok bude fungovať pri splnenej podmienke, ale druhý - vždy.

V skutočnosti je náš kód ekvivalentný tomuto:

javascriptlet test = 3;

if (test > 0) {
  console.log(test);
}

console.log('+++'); // tento riadok sa ocitol mimo podmienky

Ale my by sme chceli takýto kód:

javascriptlet test = 3;

if (test > 0) {
  console.log(test);
  console.log('+++'); // tento riadok je vnútri podmienky
}

Práve preto sa odporúča vždy vykonávať umiestňovanie zložených zátvoriek, aby ste nepadli do chýb tohto druhu.