জাভাস্ক্রিপ্টে প্রিফিক্স এবং পোস্টফিক্স টাইপ

আসলে ইনক্রিমেন্ট এবং ডিক্রিমেন্ট অপারেশন দুইভাবে লেখা যায়। আসুন ++ এর উদাহরণে এই পদ্ধতিগুলো দেখি, আর -- এর ক্ষেত্রেও সবকিছু একই রকম হবে।

প্রথম পদ্ধতিতে অপারেশনটি ভেরিয়েবলের নামের পরে লেখা হয়, এভাবে: a++, আর দ্বিতীয় পদ্ধতিতে - ভেরিয়েবলের নামের আগে, এভাবে: ++a।

প্রথম ফর্মটিকে পোস্টফিক্স বলা হয়, আর দ্বিতীয়টিকে - প্রিফিক্স। আসুন দেখি, কোন ক্ষেত্রে এই দুই ফর্মের মধ্যে পার্থক্য দেখা যায়।

ধরি আমাদের কাছে alert(a++) এবং alert(++a) কোড আছে।

alert(a++) ক্ষেত্রে ভেরিয়েবলটি প্রথমে আউটপুট হবে, তারপর এক দ্বারা বাড়বে, আর alert(++a) ক্ষেত্রে ভেরিয়েবল প্রথমে এক দ্বারা বাড়বে, তারপর আউটপুট হবে।

নিচের উদাহরণে প্রথম alert আউটপুট করবে 0, কারণ প্রথমে স্ক্রিনে আউটপুট কাজ করবে, তারপর ভেরিয়েবল বাড়বে:

javascriptlet num = 0;
alert(num++); // আউটপুট করবে 0
alert(num);   // আউটপুট করবে 1

এবং এখন ভেরিয়েবল প্রথমে বাড়বে, তারপর স্ক্রিনে আউটপুট হবে:

javascriptlet num = 0;
alert(++num); // আউটপুট করবে 1 - ভেরিয়েবল সাথে সাথে বেড়ে গেছে

এই ধরনের আচরণ শুধু স্ক্রিনে আউটপুটের জন্যই নয়, বরং অ্যাসাইনমেন্টের জন্যও প্রযোজ্য:

javascriptlet num1 = 0;
let num2 = num1++; // num2 ভেরিয়েবলে 0 লেখা হবে
alert(num2); // আউটপুট করবে 0
alert(num1); // আউটপুট করবে 1 - num2 এ লেখার পর num1 ভেরিয়েবল পরিবর্তিত হয়েছে

এবং এখন পোস্টফিক্স ফর্মকে প্রিফিক্স ফর্মে পরিবর্তন করি:

javascriptlet num1 = 0;
let num2 = ++num1; // num2 ভেরিয়েবলে 1 লেখা হবে
alert(num2); // আউটপুট করবে 1

যদি আমাদের অপারেশন একটি আলাদা লাইনে নির্বাহ করা হয়, তবে প্রিফিক্স এবং পোস্টফিক্স ফর্মের মধ্যে কোন পার্থক্য নেই:

javascriptlet num = 0;
++num;
num++;
alert(num); // আউটপুট করবে 2
Задание 1

কód চালু না করে, নির্ধারণ করুন, স্ক্রিনে কী আউটপুট হবে:

javascriptlet num = 3;
alert(++num);
Задание 2

কód চালু না করে, নির্ধারণ করুন, স্ক্রিনে কী আউটপুট হবে:

javascriptlet num = 3;
alert(num++);
Задание 3

কód চালু না করে, নির্ধারণ করুন, স্ক্রিন上 কী আউটপুট হবে:

javascriptlet num = 3;
alert(--num);
Задание 4

কód চালু না করে, নির্ধারণ করুন, স্ক্রিন上 কী আউটপুট হবে:

javascriptlet num = 3;
alert(num--);
Задание 5

কód চালু না করে, নির্ধারণ করুন, স্ক্রিন上 কী আউটপুট হবে:

javascriptlet num1 = 3;
let num2 = ++num1;
alert(num1);
alert(num2);
Задание 6

কód চালু না করে, নির্ধারণ করুন, স্ক্রিন上 কী আউটপুট হবে:

javascriptlet num1 = 3;
let num2 = num1++;
alert(num1);
alert(num2);
Задание 7

কód চালু না করে, নির্ধারণ করুন, স্ক্রিন上 কী আউটপুট হবে:

javascriptlet num1 = 3;
let num2 = --num1;
alert(num1);
alert(num2);
Задание 8

কód চালু না করে, নির্ধারণ করুন, স্ক্রিন上 কী আউটপুট হবে:

javascriptlet num1 = 3;
let num2 = num1--;
alert(num1);
alert(num2);
Задание 9

কód চালু না করে, নির্ধারণ করুন, স্ক্রিন上 কী আউটপুট হবে:

javascriptlet num1 = 3;
num1++;
let num2 = num1--;
alert(num1++);
alert(--num2);