Problemi i opsionalitetit të kllapave kaçurrel në if-else
Pavarësisht nga fakti se JavaScript lejon shkurtesat e treguara më sipër me kllapa kaçurrel, unë në përgjithësi nuk rekomandoj të bëhet kështu, pasi kjo është një çerdhe gabimesh të vështira për t'u kapur. Le të themi për shembull se ekziston kodi në vijim:
let test = 3;
if (test > 0)
console.log(test);
Le të themi tani që ne vendosëm që në rast se
kushti plotësohet, të shfaqim edhe një mesazh të dytë
me tekstin '+++':
let test = 3;
if (test > 0)
console.log(test);
console.log('+++');
Megjithatë, pa kllapa kaçurrel brenda kushtit ndodhet vetëm mesazhi i parë. Domethënë, rreshti i parë do të ekzekutohet nëse kushti është i vërtetë, ndërsa i dyti - gjithmonë.
Në fakt, kodi ynë është ekuivalent me këtë:
let test = 3;
if (test > 0) {
console.log(test);
}
console.log('+++'); // ky rresht doli jashtë kushtit
Ndërsa ne do të donim këtë kod:
let test = 3;
if (test > 0) {
console.log(test);
console.log('+++'); // ky rresht është brenda kushtit
}
Pikërisht për këtë arsye rekomandohet që gjithmonë të vendosim kllapat kaçurrel, në mënyrë që të mos bie në gabime të tilla.