if-else में वैकल्पिक करली ब्रेसिज़ की समस्या
इस तथ्य के बावजूद कि JavaScript करली ब्रेसिज़ के साथ ऊपर दिखाए गए संक्षिप्त रूपों की अनुमति देता है, मैं सामान्य रूप से ऐसा करने की सलाह नहीं देता हूं, क्योंकि यह मुश्किल से पकड़ में आने वाली त्रुटियों का अड्डा है। उदाहरण के लिए मान लीजिए कि निम्नलिखित कोड है:
let num = 3;
if (num > 0)
console.log(num);
मान लीजिए अब हमने यह फैसला किया कि यदि
शर्त पूरी होती है, तो '+++' टेक्स्ट वाला दूसरा
संदेश भी प्रिंट करें:
let num = 3;
if (num > 0)
console.log(num);
console.log('+++');
हालांकि, बिना करली ब्रेसिज़ के, कंडीशन के अंदर केवल पहला संदेश होता है। यानी पहली पंक्ति तभी काम करेगी जब कंडीशन सही हो, और दूसरी - हमेशा।
वास्तव में, हमारा कोड इसके समतुल्य है:
let num = 3;
if (num > 0) {
console.log(num);
}
console.log('+++'); // यह पंक्ति कंडीशन के बाहर आ गई
जबकि हम ऐसा कोड चाहते थे:
let num = 3;
if (num > 0) {
console.log(num);
console.log('+++'); // यह पंक्ति कंडीशन के अंदर
}
इसीलिए हमेशा करली ब्रेसिज़ लगाने की सलाह दी जाती है, ताकि इस प्रकार की त्रुटियों में न फंसें।