Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में ++ और -- ऑपरेटर्स का उपयोग क्यों नहीं करना चाहिए?

इन्क्रीमेंट (++) और डिक्रीमेंट (--) ऑपरेटर्स की समस्याएं

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);
}

सारांश: कोड की स्पष्टता और रखरखाव के लिए स्पष्ट अंकगणितीय ऑपरेटर्स (+=, -=) को प्राथमिकता दें।

  1. JavaScript एरो फंक्शन्स का उपयोग कब नहीं करना चाहिए? JavaScript एरो फंक्शन्स का उपयोग कब नहीं करना चाहिए?

    एरो फंक्शन्स का उपयोग ऑब्जेक्ट मेथड के रूप में नहीं करना चाहिए क्योंकि एरो फंक्शन का अपना this नहीं होता। यह आसपास के लेक्सिकल स्कोप के this मान को लेता है जो विंडो ऑब्जेक्ट होता है, ऑब्जेक्ट स्वयं नहीं। इससे समस्याएं हो सकती हैं क्योंकि अब हम इच्छित ऑब्जेक्ट के बजाय विंडो ऑब्जेक्ट की प्रॉपर्टीज़ से

  1. अपनी ब्लॉगिंग सुरक्षित करें: हर ब्लॉगर को VPN की आवश्यकता क्यों है अपनी ब्लॉगिंग सुरक्षित करें: हर ब्लॉगर को VPN की आवश्यकता क्यों है

    डिजिटल लेखक और ब्लॉगर्स एक प्रामाणिक और उचित लेख लिखने के लिए अनगिनत स्रोतों पर शोध और विश्लेषण करते हैं। लेकिन जब ब्लॉगर्स ऐसा कर रहे होते हैं, तो वे अक्सर सेंसरशिप और क्षेत्रीय प्रतिबंधों के कारण वेबसाइटों तक पहुंचने में बाधाओं का सामना करते हैं। उनकी साइट की जानकारी, निजी विवरण और लॉगिन भी डिजिटल

  1. Firefox क्यों आपकी रोजमर्रा की जरूरतों के लिए बेहतर ब्राउज़र विकल्प है Firefox क्यों आपकी रोजमर्रा की जरूरतों के लिए बेहतर ब्राउज़र विकल्प है

    मैं लगभग पंद्रह साल से Firefox का उपयोग कर रहा हूं, कम या ज्यादा। उस अवधि के दौरान, मैंने इसे एक सुंदर परियोजना में विकसित होते देखा है, अद्भुत एक्सटेंशन की दुनिया बनते देखा है, और फिर धीरे-धीरे सिकुड़ते और फीके पड़ते देखा है क्योंकि इसने वही किया जो प्रतियोगी करते हैं, उन मुख्य लाभों को खो दिया जो