Težava z neobveznimi zavitimi oklepaji v if-else

Kljub temu, da JavaScript dopušča zgoraj prikazane okrajšave z zavitimi oklepaji, jih na splošno ne priporočam, saj so gojišče težko ujetljivih napak. Naj bo na primer naslednja koda:

javascriptlet test = 3;

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

Recimo, da smo se zdaj odločili, da v primeru, če je pogoj izpolnjen, izpišemo še drugo sporočilo z besedilom '+++':

javascriptlet test = 3;

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

Vendar pa je brez zavitih oklepajev znotraj pogoja le prvo sporočilo. To pomeni, da se bo prva vrstica izvedla ob pravilnem pogoju, druga pa - vedno.

Dejansko je naša koda enakovredna tej:

javascriptlet test = 3;

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

console.log('+++'); // ta vrstica se je izkazala za zunaj pogoja

Mi pa bi želeli takšno kodo:

javascriptlet test = 3;

if (test > 0) {
  console.log(test);
  console.log('+++'); // ta vrstica je znotraj pogoja
}

Prav zato je priporočljivo vedno postaviti zavite oklepaje, da se ne zataknemo v tovrstne napake.