কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে ইনক্রিমেন্ট (++) এবং ডিক্রিমেন্ট (--) অপারেটর কেন এড়াতে হয়?


অপ্রত্যাশিত ফলাফলের ঝুঁকি

ইনক্রিমেন্ট (++) এবং ডিক্রিমেন্ট (--) অপারেটরগুলো এড়াতে হয় কারণ এগুলো অপ্রত্যাশিত ফলাফল দিতে পারে।

অ্যাসাইনমেন্ট স্টেটমেন্টে সমস্যা

<html>
    <body>
        <script>
            var a = 5;
            var b = ++a;  // Pre-increment: a=6, b=6
            var c = a++;  // Post-increment: c=6, a=7
            var d = ++c;  // Pre-increment: c=7, d=7
            
            document.write(a + "<br>"); // 7
            document.write(b + "<br>"); // 6
            document.write(c + "<br>"); // 7
            document.write(d + "<br>"); // 7
        </script>
    </body>
</html>

হোয়াইটস্পেস সমস্যা

a = b = c = 1;
++a;   // a = 2
b--;   // b = 0
c;     // c = 1

// কিন্তু হোয়াইটস্পেস থাকলে:
a = b = c = 1;
++ a;  // 파싱 এরর বা অনিচ্ছাকৃত আচরণ
b --;  // সমস্যা
c ;    // অপ্রয়োজনীয় সেমিকোলন

সেরা অনুশীলন

// স্পষ্ট এবং পঠনযোগ্য
a = a + 1;
b = b - 1;

// বা সংক্ষিপ্ত কিন্তু স্পষ্ট
a += 1;
b -= 1;

// লুপে (স্ট্যান্ডার্ড)
for (let i = 0; i < 10; i++) { } // i++ এখানে গ্রহণযোগ্য

// ফাংশনাল আপডেট (রি-অ্যাসাইন ছাড়া)
const incremented = arr.map(x => x + 1);

কেন এড়াতে হয়?

  • পREFIX/POSTFIX পার্থক্য ভুল বুঝতে হয়
  • হোয়াইটস্পেস সংবেদনশীল
  • কোড পঠনযোগ্যতা কমে যায়
  • ফাংশনাল প্রোগ্রামিং-এ ইমিউটেবিলিটি ভাঙে
  1. জাভাস্ক্রিপ্টে রেস্ট এবং স্প্রেড অপারেটর

  2. জাভাতে ইনক্রিমেন্ট ও ডিক্রিমেন্ট অপারেটর

  3. পাইথনে ইনক্রিমেন্ট এবং ডিক্রিমেন্ট অপারেটর

  4. পাইথনে ইনক্রিমেন্ট ও ডিক্রিমেন্ট অপারেটর (Increment and Decrement Operators in Python)