इन्क्रीमेंट (++) और डिक्रीमेंट (--) ऑपरेटर्स की समस्याएं
JavaScript में ++ और -- ऑपरेटर्स का उपयोग भ्रम और अप्रत्याशित परिणाम पैदा कर सकता है, विशेष रूप से जब उन्हें असाइनमेंट स्टेटमेंट्स या जटिल एक्सप्रेशन्स में उपयोग किया जाता है।
समस्याओं के उदाहरण
<html>
<body>
<script>
var a = 5;
var b = ++a; // प्री-इन्क्रीमेंट: a=6, b=6
var c = a++; // पोस्ट-इन्क्रीमेंट: c=6, a=7
var d = ++c; // प्री-इन्क्रीमेंट: c=7, d=7
document.write(a); // 7
document.write("\r" + b); // 6
document.write("\r" + c); // 7
document.write("\r" + d); // 7
</script>
</body>
</html>
व्हाइटस्पेस की समस्या
ऑपरेटर और वैरिएबल के बीच व्हाइटस्पेस भी अप्रत्याशित परिणाम दे सकता है:
a = b = c = 1; ++a; // a = 2 b--; // b = 0 c; // c = 1
बेहतर विकल्प
कोड को अधिक पठनीय और कम त्रुटि-प्रवण बनाने के लिए:
a = a + 1याa += 1का उपयोग करेंa = a - 1याa -= 1का उपयोग करें- लूप काउंटर्स के लिए स्पष्ट रूप से
for (let i = 0; i < 10; i += 1)लिखें
कब उपयोग करना ठीक है?
सरल लूप काउंटर्स में जहां कोई असाइनमेंट शामिल नहीं है:
for (let i = 0; i < 10; i++) { // स्वीकार्य
console.log(i);
}
सारांश: कोड की स्पष्टता और रखरखाव के लिए स्पष्ट अंकगणितीय ऑपरेटर्स (+=, -=) को प्राथमिकता दें।