Iekavu neobligātības problēma if-else konstrukcijās

Lai gan JavaScript pieļauj iepriekš parādītos saīsinājumus ar cirtainajām iekavām, es kopumā to neiesaku darīt, jo tās ir grūti pamanāmu kļūdu avots. Piemēram, pieņemsim, ka ir šāds kods:

javascriptlet test = 3;

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

Pieņemsim, ka tagad mēs nolēmām, ja nosacījums ir izpildīts, izvadīt arī otro ziņu ar tekstu '+++':

javascriptlet test = 3;

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

Tomēr bez cirtainajām iekavām nosacījuma ietvaros atrodas tikai pirmā ziņa. Tas nozīmē, ka pirmā rinda tiks izpildīta ja nosacījums ir patiess, bet otrā - vienmēr.

Faktiski mūsu kods ir līdzvērtīgs šādam:

javascriptlet test = 3;

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

console.log('+++'); // šī rinda izrādījās ārpus nosacījuma

Bet mēs gribējām šādu kodu:

javascriptlet test = 3;

if (test > 0) {
  console.log(test);
  console.log('+++'); // šī rinda ir nosacījuma ietvaros
}

Tieši tāpēc ieteicams vienmēr izmantot cirtainās iekavas, lai neiekļūtu šāda veida kļūdās.