জাভাস্ক্রিপ্ট অপারেটর টিউটোরিয়াল (JavaScript Operator Tutorial in Bangla)

 জাভাস্ক্রিপ্ট অপারেটর টিউটোরিয়াল (JavaScript Operator Tutorial in Bangla)


জাভাস্ক্রিপ্টে বিভিন্ন অপারেশনের জন্য অপারেটর ব্যবহার হয়। অপারেশন বলতে সাধারনত যোগ, বিয়োগ, গুন, ভাগ, দুটি এক্সপ্রেশনের মধ্যে তুলনা ইত্যাদি বুঝাচ্ছি। অপারেটর দিয়ে এগুলি ছাড়াও আরো অন্যান্য কাজ করা হয় তবে মুলত এগুলিই বেশি। যাই হোক ধরুন দুটি সংখ্যা জাভাস্ক্রিপ্টে যোগ করব যেমন
1.var x = 15;
2.var y = 10;
3.var z = x + y;
4.document.write(z);
এই যে ৩ নম্বর লাইনে x হচ্ছে একটা অপারেন্ড (Operand) এরপর + (প্লাস চিহ্ন) হচ্ছে অপারেটর এবং এরপর আবার অরেকটা অপারেন্ড হচ্ছে y. এসব +, -, *, /, = ইত্যাদি হচ্ছে অপারেটর। এসব অপারেটরকে কয়েক ভাবে শ্রেনীবিভাগ করা হয়েছে

1. Arithmatic Operator (গানিতিক অপারেটর) :
x এর মান 15 এবং y এর মান 10 ধরে নিচের উদাহরনগুলি দেখাচ্ছি
অপারেটরবর্ননাউদাহরন
+ দুটি অপারেন্ডকে যোগ করবে x+y হবে 25
- ২য় অপারেন্ডকে প্রথমটি থেকে বিয়োগ দেবে x-y হবে 5
* অপারেন্ড দুটিকে গুন করবে x*y হবে 150
/ ভাগ করবে x/y হবে 1.5
% মডুলাস অপারেটর x%y হবে 5
++ Increment অপারেটর, পূর্নসংখ্যা বা integer এর মান ১ করে বাড়াবে ++x হবে 16
x++হবে 16
-- Decrement অপারেটর, পূর্নসংখ্যা বা integer এর মান ১ করে কমাবে --x হবে 14
x-- হবে 14
প্রয়োগ দেখুন

** এখানে x++ এর মান ১ বাড়িয়ে দেখিয়েছে ১৬ এরপর ++x এর মান দেখিয়েছে ১৭ কেননা x এর মুল মান ছিল ১৫ তবে x++ করাতে এর মান assign হয়েছে ১৬ এরপর এই ১৬ সে ++x করে ১৭ দেখাচ্ছে। তদ্রুপ y-- এবং --y এর ক্ষেত্রেও প্রয়োজ্য।

** উদাহরনে output ভেরিয়েবলের সামনে var শব্দটি দেইনি। এটা দিলেও কাজ হয় এবং না দিলে এই ভেরিয়েবলটি গ্লোবাল হয়ে যায়। output এর সামনে পিছে (document.write() এ যখন লিখেছি) যে প্লাস (+) চিহ্ন এটা স্ট্রিং সংযোগ বা concatenate করতে ব্যবহৃত হয়। পিএইচপিতে যেমন ডট (.) চিহ্ন ব্যবহার করি।

2. Assignment Operator (বরাদ্দকরন অপারেটর - এগুলি শব্দ ইংরেজীতেই প্রাকটিস করা ভাল, বাংলা করলে বরং বুঝতে সমস্যা হবে)
এসাইনমেন্ট অপারেটর দিয়ে মান এসাইন (assign) করা হয়। অনেকগুলি এরুপ অপারেটর আছে
অপারেটরবর্ননাউদাহরন
= বা দিকের ভেরিয়েবলে মান assign করতে ব্যবহৃত হয় var x = 20;
+= Add এবং assignment অপারেটর। এই অপারেটর বা দিকের অপারেন্ডের (Operand) সাথে ডান দিকের অপারেন্ড আগে যোগ করবে এরপর বা দিকের অপারেন্ডে ফলাফলটি assign করবে।  x += y;
এটার অর্থ হচ্ছে
x = x + y;

-= Subtract এবং assignment অপারেটর। এই অপারেটর বা দিকের অপারেন্ডের (Operand) সাথে ডান দিকের অপারেন্ড আগে বিয়োগ করবে এরপর বা দিকের অপারেন্ডে ফলাফলটি assign করবে। x  -= y;
এটার অর্থ হচ্ছে
x = x - y;
*= Multiply এবং assignment অপারেটর, অপারেন্ড দুটি গুনন করে ফলাফলটি বা দিকের অপারেন্ডে assign করবে। x *= y;
এটার অর্থ হচ্ছে
x = x*y;
/= Divide এবং assignment অপারেটর। বা দিকের অপারেন্ডকে ডান দিকের অপারেন্ড দিয়ে ভাগ করবে এবং ফলাফল বা দিকের অপারেন্ডে assign করবে। x /= y;
এটার অর্থ হচ্ছে
x = x/y;
%= Modulus এবং assignment অপারেটর। অপারেন্ড দুটির মডুলাস নিবে এবং বা দিকের অপারেন্ডে assign করবে। x %= y;
এটার অর্থ হচ্ছে
x = x % y;
প্রয়োগ দেখুন

** খুব ভাল করে আউটপুট খেয়াল করবেন নাহলে অনেক জিনিস বুঝতে পারবেন না। যদিও উদাহরটিতে প্রথমে x এর মান ছিল ১৫ এবং y এর মান ছিল ১০ তবুও পরের ফলাফলগুলিতে এই অনুযায়ী মান আসেনি। কারন স্ক্রিপ্টে যখনি x বা y এর সাথে প্লাস মাইনাস ইত্যাদি অপারেটর ব্যবহার করেছি তখনি তাদের মুল মান পরিবর্তন হয়ে বর্তমান মান assign হয়ে গেছে।

3. Comparison Operator
দুটি অপারেন্ডের মধ্যে তুলনা করতে এই অপারেটরগুলি ব্যবহার হয়। অনেকগুলি comparison অপারেটর আছে এর মধ্যে বহুল ব্যবহৃত কয়েকটি হচ্ছে
== এটা দিয়ে দুটি অপারেন্ড সমান কিনা সেটা যাচাই করা যায় যেমন
01.<!DOCTYPE html>
02.<html>
03.<head>
04.<script>
05.var x = 15;
06.var y = 16;
07.if (x == y) {
08.alert('These two operand values are equal');
09.} else {
10.alert('values are not equal');
11.}
12.</script>
13.</head>
14.<body>
15.<!-- any HTML element here -->
16.</body>
17.</html>
রান করিয়ে দেখুন। "values are not equal" দেখাবে অর্থ্যাৎ == অপারেটর দিয়ে আমরা বের করলাম যে অপারেন্ড দুটি সমান নয়।
যদি দুটি অপারেন্ড সমান না হয় এটা দেখতে চান তবে != (not equal to) একটা অপারেটর আছে।
> অপারেটর : এটা দিয়ে বা দিকের অপারেন্ড বড় কিনা সেটা দেখা হয়, যদি বড় হয় তাহলে true রিটার্ন করবে।
< অপারেটর : বা দিকের টা ছোট কিনা সেটা দেখার জন্য।
<= অপারেটর : বা দিকেরটা ডান দিকেরটার চেয়ে ছোট অথবা সমান কিনা সেটা দেখার জন্য এই অপারেটর।
>= এটা দিয়ে বা দিকেরটা ডান দিকের টার চেয়ে বড় অথবা সমান কিনা তা দেখার জন্য।

উপরের যে alert এর কোডটা দিয়েছি সেখানে এই অপারেটর গুলি পরীক্ষা করে দেখতে পারেন।




Unary অপারেটর : জাভাস্ক্রিপ্টে কিছু অপারেটর আছে যেগুলি একটি অপারেন্ডের সাথে কাজ করে যেমন ++ বা --
1.var x = 8;
2.x++;
3.document.write(x);
আউটপুট ৯ দেখাবে। দেখুন ++ অপারেটর একাই x এর মান পরিবর্তন করে দিয়েছে। এজন্য এটা একটা unary অপারেটর।

** x++ এটা হল post-increment অর্থ্যাৎ আগে x এর মান রিটার্ন করবে এরপর ১ বাড়াবে। তাই  document.write(x++) দিয়ে দেখুন মান ৮ ই দেখাবে। আর যদি ++x এভাবে দেন এটা হবে pre-increment অর্থ্যাৎ আগে মান ১ বাড়াবে এরপর রিটার্ন করবে। এজন্য document.write(++x) দেন মান ৯ দেখাবে। x++ আর ++x এর মধ্যে পার্থক্য এটাই। উপরের উদাহরনে x++ এবং ++x আসলে x+8 এর কাজ করে।

Binary অপারেটর : দুটি অপারেন্ড নিয়ে কাজ করে তাই এসব অপারেটরকে বাইনারি অপারেটর বলে যেমন +, -, / ইত্যাদি।
arithmatic অপারেটরের শেষের দুটি ছাড়া সবগুলিই binary অপারেটর।

এছাড়া আরেকটি আছে tenary অপারেটর যেটা ৩টি অপারেটর নিয়ে কাজ করতে পারে।
if else স্টেটমেন্টের কাজ টেনারি অপারেটর (?:) দিয়ে করা যায়। এখানে ৩ টি অপারেন্ড থাকে। যেমন
1.var x = 50;
2.var y = 45;
3.if(x > y){
4.document.write(x-y);
5.}else{
6.document.write('x is small');
7.}
টেনারি অপারেটর দিয়ে উপরের এই এক্সপ্রেশনকে সংক্ষেপে এভাবে লেখা যায়।
1.var x = 50;
2.var y = 45;
3.x > y ? document.write(x-y) : document.write('x is small');

4. Logical অপারেটর
অপারেটরবর্ননাউদাহরন
&& লজিকাল AND অপারেটর। যদি দুটি এক্সপ্রেশনই true হয় তাহলে true রিটার্ন করবে। exp1 && expr2
||  লজিকাল OR অপারেটর। যদি দুটি এক্সপেশনের যেকোন একটি true হয় তাহলেও true রিটার্ন করবে। exp1 || expr2
! লজিকাল NOT অপারেটর। যদি এক্সপ্রেশনটি true হয় তাহলে false রিটার্ন করবে নাহলে true রিটার্ন করবে।  !exp
প্রয়োগ দেখুন

প্রথম দুটি অপারেটর দিয়ে দুটি কন্ডিশন বা এক্সপ্রেশন দেখা হয়। && এর ক্ষেত্রে দুটিই কন্ডিশনই true হলে true রিটার্ন করবে আর || এর ক্ষেত্রে যেকোন একটি কন্ডিশন true হলেই true রিটার্ন করে এবং ঐ কোডব্লকে ঢুকবে।
! দিয়ে সাধারনত একটা এক্সপ্রেশন চেক করা হয়।

** এখানে আলোচিত অপারেটর ছাড়াও আরো কিছু অপারেটর আছে তবে এগুলিই সবসময় ব্যবহৃত হয়।

0 মন্তব্য(গুলি):