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:
let 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 '+++':
let 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:
let 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:
let 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.