জাভাস্ক্রিপ্টঃ অপারেটর নিয়ে সবকিছু
এই পর্বে আমি অপারেটর নিয়ে বিস্তারিত আলোচনা করবো। অপারেটর খুবই ব্যাসিক জিনিস, আমরা সবাই এমনিতেও জানি। কিন্তু এ সম্পর্কে ভালো ধারণা থাকতে হবে। কারণ অপারেটর অনেকভাবে ইউজ করা হয়।
ধরুন ২ + ৪ এ ৬ হয়, এখন এখানে + হচ্ছে অপারেটর, আর ২ এবং ৪ হচ্ছে অপারেন্ড। আমরা এখন এইধরনের অপারেটর নিয়েই আলোচনা করবো।
এই পর্বে অনেককিছু কি কাজে লাগতে পারে সেটা নিয়া কনফিউশন তৈরী হতে পারে, কিন্তু এগুলা আসলে আপনার সবকিছুর বেইস। তাই আপনার এগুলার ব্যাপারে ক্লিয়ার ধারণা থাকা জরুরী। আপনাকে যে সবকিছু মনে রাখতে হবে বা মুখস্ত করে ফেলতে হবে এমন কোনো কথা নাই। প্র্যাক্টিস করতে করতে এমনেই মনের মধ্যে ঢুকে যাবে।
জাভাস্ক্রিপ্ট এ কয়েকরকম এর অপারেটর আছেঃ
১। অ্যারিথমেটিক অপারেটর
২। কম্পারিজম অপারেটর
৩। লজিক্যাল/রিলেশনাল অপারেটর
৪। অ্যাসাইনমেন্ট অপারেটর
৫। কন্ডিশনাল/টার্নারি অপারেটর
এগুলা নাম থেকে অনেকটা ধারণা করা যায় কোনগুলো কোন কাজের জন্য হতে পারে। আমি নিচে বিস্তারিত আলোচনা করছি প্রত্যেকটা। আপনি ক্রোমের ডেভেলপার কন্সোল ওপেন করে প্র্যাক্টিস করবেন একটা একটা করেঃ
১। অ্যারিথমেটিক অপারেটরঃ যোগ, বিয়োগ, গুণ, ভাগ করার জন্যে এই অ্যারিথমেটিক অপারেটর ইউজ করা হয়। তবে এগুলা ছাড়াও আরো কয়েকটা আছেঃ
+
— দুইটা অপারেন্ড যোগ করার জন্যে
সাধারণ যোগ
সেইম ভ্যারিয়েবলের ক্ষেত্রেও
-
— দুইটা অপারেন্ড বিয়োগ করার জন্যে
বিয়োগ
*
— দুইটা অপারেন্ড গুণ করার জন্যে
গুণ
/
— দুইটা অপারেন্ড ভাগ করার জন্যে
ভাগ
স্পেশাল নোটঃ ভাগফল দশমিক এ আসলে দশমিকেই রেজাল্ট শো করবে
দশমিক এ দেখাচ্ছে।
%
(মডুলাস) — ভাগশেষ বের করার জন্যে, এটা আসলে অনেক ইউজফুল একটা অপারেটর। ১৩ ভাগ ৫ এ রেজাল্ট হয় ২, কিন্তু ভাগশেষ থাকে ৩। এই ভাগশেষ বের করতেই এই অপারেটর ইউজ করা হয়
ভাগশেষ দেখাচ্ছে
++
(ইনক্রিমেন্ট) — এটা আপনার অপারেন্ড এর সাথে ১ যোগ করবে। ধরুন আপনার একটা ভ্যারিয়েবল আছেa
যেটার ভ্যালু10
, এখনa++
লিখলে এটার ভ্যালুর সাথে এক যোগ হবে। এটাa = a + 1
এটার শর্টকাট বলা চলে।
ভ্যালু ইনক্রিমেন্ট হচ্ছে
--
(ডিক্রিমেন্ট) — অনেকটা ইনক্রিমেন্ট অপারেটরের মতোই কিন্তু ভ্যালু ১ কমাবে। সেইমভাবে এটাওa = a - 1
এটার শর্টকাট।
ভ্যালু ডিক্রিমেন্ট হচ্ছে
লক্ষণীয়ঃ এই ইনিক্রিমেন্টাল/ডিক্রিমেন্টাল অপারেটরগুলো আপনার ভ্যারিয়েবলের আগে এবং পরে দুই পজিশনেই বসতে পারে। পার্থক্য হলো আগে থাকলে ভ্যালুর ইনক্রিমেন্ট/ডিক্রিমেন্ট আগে হয়, তারপর ভ্যালু রিটার্ন করে। আর পরে থাকলে আগে রিটার্ন করে, পরে ভ্যালুর ইনক্রিমেন্ট/ডিক্রিমেন্ট হয়।
a++ ১০ ই দেখাচ্ছে
কিন্তু পরে আবার অ্যাক্সেস করায় দেখা যাচ্ছে এটার ভ্যালু পরিবর্তন হয়েছে।
এখানে প্রথম রিটার্নই করছে চ্যাঞ্জ হওয়া ভ্যালু
সেইম ডিক্রেমেন্টাল অপারেটরের ক্ষেত্রেও। ক্ষেত্রবিশেষে কাজে লাগে এগুলা অনেক, তাই মাথায় থাকা ভালো।
২। কম্পারিজম অপারেটরঃ একটা ভ্যালুর সাথে আরেকটা কম্পেয়ার করার জন্য। দুইটা ভ্যালু সমান কি সমান না, নাকি বড় না ছোটো। এরা রেজাল্ট হিসাবে হয় সত্য true
অথবা মিথ্যা false
রিটার্ন করে।
==
(ইকুয়্যাল) — দুইটার ভ্যালু সমান সমান কিনা দেখার জন্যে। সমান হলে সত্যtrue
নাইলে মিথ্যাfalse
রিটার্ণ করবে।
সমান সমান কি?
সমান সমান? না…
!=
(ইকুয়্যাল না) — দুইটার ভ্যালু সমান না হলে সত্যtrue
দেখাবে
সমান না তো?
সমান না তো?
>
(বড়) — একটা আরেকটা থেকে বড় কিনা সেটা দেখার জন্যে। বড় হলে সত্যtrue
নাইলে মিথ্যাfalse
বড় তো?
বড় তো?
<
(ছোট) — একটা আরেকটা থেকে ছোটো কিনা সেটা দেখার জন্যে। ছোটো হলে সত্যtrue
নাইলে মিথ্যাfalse
ছোটো তো?
ছোটো তো?
>=
(বড় অথবা ইকুয়্যাল) — একটা আরেকটা থেকে বড় বা সমান সমান কিনা সেটা দেখার জন্যে। বড় বা সমান হলে সত্যtrue
নাইলে মিথ্যাfalse
বড় অথবা সমান সমান কি?
বড় অথবা সমান সমান কি?
বড় অথবা সমান সমান কি?
<=
(ছোটো অথবা ইকুয়্যাল) — একটা আরেকটা থেকে ছোটো বা সমান সমান কিনা সেটা দেখার জন্যে। ছোটো বা সমান হলে সত্যtrue
নাইলে মিথ্যাfalse
ছোটো অথবা সমান সমান কি?
ছোটো অথবা সমান সমান কি?
ছোটো অথবা সমান সমান কি?
গুরুত্বপূর্নঃ এগুলার বাইরেও আরো মোস্ট ইউস কিছু অপারেটর রয়েছে। যেমন ===
এবং !==
এগুলা ব্যাসিকেলি ইকুয়্যাল ==
বা ইকুয়্যাল না !=
অপারেটরের মতোই কিন্তু মেইন পার্থক্য হলো ট্রিপল ইকুয়্যাল অপারেটর ভ্যালু দুইটা সমান কিনা সেটা চ্যাক করে এবং সাথে দুইটা একই টাইপের কিনা সেটাও চ্যাক করে। যেখানে ডাবল অপারেটরগুলো শুধুমাত্র ভ্যালু দুইটা সমান কিনা চ্যাক করে, টাইপ চ্যাক করে না।
এখানে প্রথমটা নাম্বার মনে হলেও এটা স্ট্রিং, তাই ডাবল অপারেটর ট্রু দেখালেও ট্রিপল ফলস দেখাচ্ছে
সেইম কেইস আগেরটার মতোই
এগুলা আসলে অনেক ইউজ হয় এবং জাভাস্ক্রিপ্ট এ অনেকটা ইউনিক তাই ভালো করে মনে রাখা বা এগুলা সম্পর্কে ধারণা রাখা ভালো।
৩। লজিক্যাল অপারেটরঃ তিনরকমের হতে পারেঃ
&&
(এন্ড) — সাধারণত দুইটা অপারেন্ড এর মাঝখানে বসে। এবং যদি দুইটা স্টেটমেন্ট সত্যtrue
হয় তাহলে পুরোটা সত্ য নাইলে যেকোনো একটাও যদি মিথ্যাfalse
হয় তাহলে পুরোটাই মিথ্যাfalse
। আর যদি দুইটাই মিথ্যাfalse
হয়, তাহলেও পুরোটা মিথ্যাfalse
সবগুলা সত্য হলেই তবে পুরোটা সত্য
একটা মিথ্যা হলেই পুরোটা মিথ্যা
আপনি চাইলে অনেকগুলাও একসাথে এভাবে ইউজ করতে পারবেন
।।
(অর) — সাধারণত দুইটা অপারেন্ড এর মাঝখানে বসে। এবং যদি যেকোনো একটা সত্যtrue
হয় তাহলে সত্যtrue
, দুইটাই যদি সত্যtrue
হয় তাহলেও পুরোটা সত্যtrue
। আর যদি একমাত্র দুইটা স্টেট্মেন্টই মিথ্যাfalse
হয় তাহলেই পুরোটা মিথ্যাfalse
হবে
সবগুলা সত্য হলে পুরোটাই সত্য
যেকোনো একটা সত্য হলেই সবটা সত্য
সবগুলা মিথ্যা হলে তবেই পুরোটা মিথ্যা
এভাবে অনেকগুলো একসাথে ইউজ করা যাবে
!
(নট) — সাধারণত একটা স্টেটমেন্ট এর পূর্বে বসে। এবং সেটা যদি সত্যtrue
হয় তাহলে এটা রিটার্ন করবে মিথ্যাfalse
, আর মিথ্যাfalse
হলে রিটার্ন করবে সত্যtrue
। মানে উল্টো
উল্টো
উল্টো
৪। অ্যাসাইনমেন্ট অপারেটরঃ সমান, যোগ সমান, বিয়োগ সমান, গুণ সমান, ভাগ সমান, মডুলাস সমান।
=
সিম্পল অ্যাসাইনমেন্ট অপারেটরঃ আমরা অলরেডি ইউজ করেছি এই অপারেটর। এটা ভ্যারিয়েবলে ভ্যালু অ্যাসাইন করার জন্যে ইউজ করা হয়।
+=
যোগ এবং অ্যাসাইনমেন্ট অপারেটরঃ নিজের সাথে নিজের ভ্যালু যোগ করে সেটাকে আবার নিজের সাথেই অ্যাসাইন করা একই সাথে।a += 10
এটার ফুল ফর্ম হচ্ছেঃa = a + 10;
-=
বিয়োগ এবংঅ্যাসাইনমেন্ট অপারেটরঃ এটাও শর্টকাট আগেরটার মতোই। নিজের সাথে নিজের ভ্যালু বিয়োগ করে সেটাকে আবার নিজের সাথেই অ্যাসাইন করা একই সাথে।a -= 10
এটার ফুল ফর্ম হচ্ছেঃa = a - 10;
*=
গুণ এবংঅ্যাসাইনমেন্ট অপারেটরঃ এটাও শর্টকাট।নিজের সাথে নিজের ভ্যালু গুণ করে সেটাকে আবার নিজের সাথেই অ্যাসাইন করা একই সাথে।a *= 5
এটার ফুল ফর্ম হচ্ছেঃa = a * 5;
/=
ভাগ এবংঅ্যাসাইনমেন্ট অপারেটরঃ এটাও শর্টকাট। নিজের সাথে নিজের ভ্যালু ভাগ করে সেটাকে আবার নিজের সাথেই অ্যাসাইন করা একই সাথে।a /= 2
এটার ফুল ফর্ম হচ্ছেঃa = a / 2;
%=
ভাগশেষ এবংঅ্যাসাইনমেন্ট অপারেটরঃ এটাও আরেকটা শর্টকাট।নিজের সাথে নিজের ভ্যালু মড করে সেটাকে আবার নিজের সাথেই অ্যাসাইন করা একই সাথে।a %= 5
এটার ফুল ফর্ম হচ্ছেঃa = a % 5;
৫। কন্ডিশনাল/টার্নারি অপারেটরঃ ? :
এটাও আরেকটা শর্টকাট। উদাহরন দেখলে বুঝতে পারবেনঃ
যদি কন্ডিশন সত্য হয় ? তাইলে ভ্যালু এটা : নাইলে ভ্যালু এইটা
৬। অন্যান্য অপারেটরঃ
- typeof অপারেটরঃ আমরা আগের পর্বেও এটা ইউজ করেছি। এটাও আসলে একটা অপারেটর। ডাটার টাইপ বের করতে ইউজ করা হয়। আপনি চাইলে এভাবে
typeof(yourVariable)
ফার্স্ট ব্র্যাকেটস এর ভিতরে, বা এভাবেওtypeof yourVariable
লিখতে পারবেন। এটা সবসময় ভ্যালু যে টাইপের সেটাই স্ট্রিং হিসাবে রিটার্ন করবেঃ
typeof কোনটা কিভাবে রিটার্ন করেঃ
আজকের পর্ব এইটুকুই। ভালো থাকবেন, সবাইকে ভালো রাখবেন। আর মনে রাখবেন প্র্যাক্টিসের উপর কিছু নাই। আপনি উদাহরণ গুলো যতরকমভাবে পারবেন প্র্যাক্টিস করবেন। আপনার নিজের থেকেও প্র্যাক্টিস করবেন যতভাবে পারেন। কোনো সমস্যা হলে গুগুল তো আছেই। আর আমাকে ইমেইল করুন বা এখানে কমেন্ট করতে পারেনঃ
Email: zonayedpca@gmail.com
[wysija_form id=”6″]
আপনার মন্তব্যঃ
যদি এই পোস্টে কোন ভুল(যেকোনো ধরনের) পেয়ে থাকেন অথবা কোনো ব্যাপারে সন্দেহ থাকে তাহলে এখানে জানাতে পারবেন।