तो वास्तव में क्यों करता है जावास्क्रिप्ट (और अन्य भाषाएँ) एक ही काम करने के लिए इतने सारे अलग-अलग तरीके प्रदान करते हैं? खैर, एक बात के लिए, इनमें से कुछ विकल्प दूसरों की तुलना में कम हैं और इसलिए कम टाइपिंग शामिल है। + = का उपयोग करके आसानी से किसी भी संख्या की अनुमति देता है और न केवल एक को चर में जोड़े बिना दो बार चर नाम दर्ज करने की अनुमति देता है।
यह अभी भी स्पष्ट नहीं करता है कि मैं i ++ और ++ दोनों क्यों मौजूद हूं क्योंकि दोनों का उपयोग केवल एक को जोड़ने के लिए किया जा सकता है और दोनों एक ही लंबाई के हैं। दो विकल्पों का कारण यह है कि ये वास्तव में अकेले बयान के रूप में उपयोग करने के लिए अभिप्रेत नहीं हैं, लेकिन वास्तव में हैं अधिक जटिल बयानों में शामिल किए जाने के लिए डिज़ाइन किया गया है जहाँ आप वास्तव में एक में एक से अधिक चर को अपडेट करते हैं बयान।बयान जहाँ आप वास्तव में एक कथन में एक से अधिक चर अद्यतन करते हैं।
यह कथन एक कथन में i और j दोनों चर के मूल्यों को अद्यतन करता है। बात यह है कि जबकि ++ i और i ++ वही काम करते हैं जहां तक मुझे अपडेट करने की चिंता है वे अन्य चर को अपडेट करने के संबंध में अलग-अलग काम करते हैं। उपरोक्त कथन को दो अलग-अलग बयानों के रूप में लिखा जा सकता है:
ध्यान दें कि उन्हें एक साथ संयोजित करने का मतलब है कि हमारे पास 13 के बजाय आठ वर्ण हैं। बेशक, लंबा संस्करण बहुत स्पष्ट है, जहां यह काम करने की बात आती है कि मूल्य जे क्या होगा।
यह, निश्चित रूप से, इसका मतलब है कि जे अब पहले उदाहरण में इसके लिए एक अलग मूल्य है। ++ का स्थान या पहले या बाद में चर नाम नियंत्रित करता है कि क्या चर का उपयोग करने से पहले या बाद में वृद्धि हो जाती है या नहीं यह कथन में उपयोग किया जाता है।
इसलिए जब आप इसे एक बयान के रूप में अलग-अलग उपयोग करते हैं तो इससे कोई फर्क नहीं पड़ता कि आप इसे रखते हैं या नहीं चर नाम से पहले या बाद में (एक सूक्ष्म गति अंतर को छोड़कर जो कभी कोई नहीं होगा नोटिस)। केवल एक बार जब आप इसे किसी अन्य कथन के साथ जोड़ते हैं, तो इससे उस मूल्य पर फर्क पड़ता है जो कुछ अन्य को सौंपा जाता है परिवर्तनशील या चर।