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('+++'); // бу сатр шарт ичида
}

Айнан шу сабабдан, ушбу турдаги хатоларга йўл қўймаслик учун каваларни ҳар доим тўғри қўйиш тавсия этилади.