if-else-ում գանգուր փակագծերի օպցիոնալ լինելու խնդիրը
Չնայած այն հանգամանքին, որ JavaScript-ը թույլ է տալիս վերը նշված կրճատումները գանգուր փակագծերով, ես, ընդհանուր առմամբ, չեմ խորհուրդ տալիս այդպես անել, քանի որ դա դժվարաբռնելի սխալների բուծման տեղ է։ Ենթադրենք, օրինակ, կա հետևյալ կոդը՝
let test = 3;
if (test > 0)
console.log(test);
Ենթադրենք, հիմա մենք որոշեցինք, որ եթե
պայմանը կատարվում է, արտածել նաև երկրորդ
հաղորդագրությունը '+++' տեքստով.
let test = 3;
if (test > 0)
console.log(test);
console.log('+++');
Սակայն, առանց գանգուր փակագծերի, պայմանի ներսում գտնվում է միայն առաջին հաղորդագրությունը։ Այսինքն՝ առաջին տողը կգործի ճիշտ պայմանի դեպքում, իսկ երկրորդը՝ միշտ։
Փաստորեն, մեր կոդը համարժեք է հետևյալին.
let test = 3;
if (test > 0) {
console.log(test);
}
console.log('+++'); // այս տողը դուրս է մնացել պայմանի բլոկից
Իսկ մենք կցանկանայինք այսպիսի կոդ.
let test = 3;
if (test > 0) {
console.log(test);
console.log('+++'); // այս տողը պայմանի ներսում է
}
Հենց այս պատճառով էլ խորհուրդ է տրվում միշտ կատարել գանգուր փակագծերի տեղադրումը, որպեսզի չընկնել նմանատիպ սխալների մեջ։