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:
let test = 3;
if (test > 0)
console.log(test);
Endi faraz qilaylik, shart bajarilgan taqdirda,
'+++' matni bilan yana bir xabar chiqarishga qaror qildik:
let 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:
let test = 3;
if (test > 0) {
console.log(test);
}
console.log('+++'); // bu qator shartdan tashqarida qoldi
Aslida biz quyidagi kodni xohlagan edik:
let 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.