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('+++'); // бу сатр шарт ичида
}
Айнан шу сабабдан, ушбу турдаги хатоларга йўл қўймаслик учун каваларни ҳар доим тўғри қўйиш тавсия этилади.