if-else में वैकल्पिक करली ब्रेसिज़ की समस्या

इस तथ्य के बावजूद कि JavaScript करली ब्रेसिज़ के साथ ऊपर दिखाए गए संक्षिप्त रूपों की अनुमति देता है, मैं सामान्य रूप से ऐसा करने की सलाह नहीं देता हूं, क्योंकि यह मुश्किल से पकड़ में आने वाली त्रुटियों का अड्डा है। उदाहरण के लिए मान लीजिए कि निम्नलिखित कोड है:

javascriptlet num = 3;

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

मान लीजिए अब हमने यह फैसला किया कि यदि शर्त पूरी होती है, तो '+++' टेक्स्ट वाला दूसरा संदेश भी प्रिंट करें:

javascriptlet num = 3;

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

हालांकि, बिना करली ब्रेसिज़ के, कंडीशन के अंदर केवल पहला संदेश होता है। यानी पहली पंक्ति तभी काम करेगी जब कंडीशन सही हो, और दूसरी - हमेशा।

वास्तव में, हमारा कोड इसके समतुल्य है:

javascriptlet num = 3;

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

console.log('+++'); // यह पंक्ति कंडीशन के बाहर आ गई

जबकि हम ऐसा कोड चाहते थे:

javascriptlet num = 3;

if (num > 0) {
  console.log(num);
  console.log('+++'); // यह पंक्ति कंडीशन के अंदर
}

इसीलिए हमेशा करली ब्रेसिज़ लगाने की सलाह दी जाती है, ताकि इस प्रकार की त्रुटियों में न फंसें।