if-else da figurali qavslarning ixtiyoriyligi muammosi

JavaScript yuqorida ko'rsatilgan figurali qavslar bilan qisqartmalarga ruxsat bersa-da, men umuman olganda bunday qilishni tavsiya qilmayman, chunki bu qiyin topiladigan xatolar uchun yashash joyidir. Misol tariqasida quyidagi kodni olaylik:

javascriptlet test = 3;

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

Endi faraz qilaylik, shart bajarilgan taqdirda, '+++' matni bilan yana bir xabar chiqarishga qaror qildik:

javascriptlet test = 3;

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

Biroq, figurali qavslarsiz, shart ichida faqat birinchi xabar joylashgan. Ya'ni birinchi qator shart to'g'ri bo'lganda ishlaydi, ikkinchisi esa har doim.

Aslida bizning kodimiz quyidagiga teng:

javascriptlet test = 3;

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

console.log('+++'); // bu qator shartdan tashqarida qoldi

Aslida biz quyidagi kodni xohlagan edik:

javascriptlet test = 3;

if (test > 0) {
  console.log(test);
  console.log('+++'); // bu qator shart ichida
}

Aynan shuning uchun har doim figurali qavslarni qo'yish, shu kabi xatolarga yo'l qo'ymaslik uchun tavsiya etiladi.