if-else-ում գանգուր փակագծերի օպցիոնալ լինելու խնդիրը

Չնայած այն հանգամանքին, որ JavaScript-ը թույլ է տալիս վերը նշված կրճատումները գանգուր փակագծերով, ես, ընդհանուր առմամբ, չեմ խորհուրդ տալիս այդպես անել, քանի որ դա դժվարաբռնելի սխալների բուծման տեղ է։ Ենթադրենք, օրինակ, կա հետևյալ կոդը՝

javascriptlet test = 3;

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

Ենթադրենք, հիմա մենք որոշեցինք, որ եթե պայմանը կատարվում է, արտածել նաև երկրորդ հաղորդագրությունը '+++' տեքստով.

javascriptlet test = 3;

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

Սակայն, առանց գանգուր փակագծերի, պայմանի ներսում գտնվում է միայն առաջին հաղորդագրությունը։ Այսինքն՝ առաջին տողը կգործի ճիշտ պայմանի դեպքում, իսկ երկրորդը՝ միշտ։

Փաստորեն, մեր կոդը համարժեք է հետևյալին.

javascriptlet test = 3;

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

console.log('+++'); // այս տողը դուրս է մնացել պայմանի բլոկից

Իսկ մենք կցանկանայինք այսպիսի կոդ.

javascriptlet test = 3;

if (test > 0) {
  console.log(test);
  console.log('+++'); // այս տողը պայմանի ներսում է
}

Հենց այս պատճառով էլ խորհուրդ է տրվում միշտ կատարել գանգուր փակագծերի տեղադրումը, որպեսզի չընկնել նմանատիպ սխալների մեջ։