JavaScript Operators & Operands

JavaScript Operators & Operands

JavaScript এ Operators কি ?

Operators বলতে এমন কিছু বিশেষ symbol বা চিহ্ন সমূহকে বুঝায়,যে সকল চিহ্ন দ্বারা বিভিন্ন mathematical,relational এবং  logical সহ আরো অনেক ধরণের কার্য (operatin ) সম্পন্ন করা যায়। JavaScript এ  অনেক ধরণের operator ব্যবহৃত হয়। তার মধ্যে বিশেষ কিছু operator হল:

  • Arithmetic Operators
  • Assignment Operators
  • Bitwise Operators
  • Comparison Operators
  • Increment & Decrement Operator
  • Logical Operators
  • String Operators
  • Type Operators      

Arithmetic Operators: বিভিন্ন গাণিতিক কাজ সম্পন্ন করার জন্য যে সকল operator সমূহ   ব্যবহৃত  হয়,তাদেরকে  Arithmetic Operators বলে। যেমন: + (addition), - (Subtraction), * (Multiplication), ** (Exponentiation), / (Divisio), % (Modulus), ++ (Increment), -- (Decrement)।

 Assignment Operators: কোনো veriable এর মধ্যে value বা মান সংরক্ষণের জন্য Assignment Operators ব্যবহৃত হয়।

যেমন: ( = ,+=, -=, *=, /=, %=, **= )

  •  =    ( x = y )
  • +=  ( x += y  বা  x = x+y )
  • -=   ( x -= y   বা  x = x - y )
  • *=   ( x *= y   বা  x = x * y )
  • /=   ( x /= y    বা  x = x / y )
  • %= ( x %= y  বা  x = x % y )
  • **=  ( x **= y  বা  x = x ** y )

Bitwise Operators: JavaScript এ বাইনারি কাজের জন্য  Bitwise Operators ব্যবহৃত হয়। যেমন: (& ,|, ^, ~, <<, >>, <<=, >>= ,>>>=,&=, ^=,|=)

  • &     AND  ( 5 & 1       0101 & 0001 )
  • |      OR  ( 5 | 1           0101 | 0001 )
  • ~     NOT ( ~5             ~0101 )
  • ^     XOR ( 5 ^ 1         0101 ^ 0001 )
  • << left shift (5 << 1    0101 << 1 )
  • >> right shift (5>>1   0101 >> 1 )
  • >>>unsigned right shift (5 >>>1   0101 >>> 1 )

Comparison Operators: দুই বা ততোধিক Value এর মধ্যে তুলনা করার জন্য যে-সকল Operator ব্যবহৃত হয়, তাদেরকে Comparison Operators বলে। যেমন : ==,!=,===,!==,<,>,<=,>=

যদি x = 10 হয়, তাহলে -

  • == সমান   (x == 5   -false)
  • != সমান নয়  (x != 11 -true)
  • === মান এবং টাইপ উভয়ই সমান  (x === 10 -true)
  •  !== মান অথবা টাইপ সমান নয়  (x !== 8 -tr
  • > এর চাইতে বড়  (x > 5  -true),
  • < এর চাইতে ছোট (x < 9  - false )
  • >= বড় অথবা সমান (x >= 15  -false)
  • <= ছোট অথবা সমান  ( x <= 10   -true)

Increment & Decrement Operator: কোন একটি variable এর মান 1 করে বাড়াতে Increment Operator এবং 1 করে কমাতে Decrement Operator ব্যবহৃত হয়। যেমন : ++, --

Increment Operator : let x = 10;
                                     x++;

Decrement Operator: let x = 10;
                                     x--;

Logical Operators: দুই বা ততোধিক value এর মধ্যে বিভিন্ন logic বা যুক্তি উপস্থাপন করা Logical Operators এর কাজ। যেমন: && (logical and),  || (logical or),  ! (logical not) ।

String Operators:একটি string এর সাথে অন্য আরেকটি string জোরা লাগানোর জন্য যে operator ব্যবহৃত হয় ,তাকে String Operators বলে। যেমন: (+)

let text1 = "John";
let text2 = "Doe";
let text3 = text1 + " " + text2;

Type Operators: কোনো একটা variable বা value এর type জানার জন্য  যে operator ব্যবহৃত হয় ,তাকে Type Operator বলে। যেমন: typeof ।

Operand কি ?
Operator এর দুই পাশে যে value গুলো থাকে, Programming Language এর পরিভাষায়  তাদেরকে Operand বলে। নিচের উদাহরণের মাধ্যমে Operator এবং  Operand  বুঝে নেয়া যাক :

let a = 5;
let b = 7;
let sum = a + b ;

এখানে plus sign (+) এর দুই পাশের যথাক্রমে a  এবং b এই দুইটা Operand আর plus sign (+) টি হচ্ছে Operator ।

Operator Precedence কি?
Operator Precedence বলতে এমন কিছু নিয়মের সমষ্টি সমুহকে বুঝায় যা দিয়ে JavaScript এ কোড রান হওয়ার সময় কোন কাজটি আগে সম্পাদিত হবে, তা নির্ধারিত হয়। নিচের উদাহরণ থেকে বুঝে নেই -

<!DOCTYPE html>
<html>
<body>
       <script>
                document.write(1 + 5 * 3); //Output 16 But why not 18?
      </script>
</body>
</html>


কোডের ফলাফল 18 না এসে 16 আসবে। কারণ, হচ্ছে, এখানে ব্যবহৃত দুটি operator এর মধ্যে Operator Precedence Rules অনুযায়ী addition (“ + ”) Operator টির চেয়ে multiplication (“ * ”) Operator টি বেশি অগ্রাধিকার প্রাপ্ত । এবার নিচের আরেকটি উদাহরণ লক্ষ্য করা যাক :

<!DOCTYPE html>
<html>
<body>
        <script>
                document.write((1 + 5) * 3); //Output 18 But why not 16?
        </script>
</body>
</html>

Parentheses “( )” Operator টি Multiplication “ * ” Operator এর চেয়ে বেশি অগ্রাধিকার প্রাপ্ত হওয়ায়, প্রথমে Parentheses এর মধ্যের addition এর কাজটি সম্পাদিত হয়। তারপর multiplication “*” এর কাজটি সম্পাদিত হয়।

আশা করি বুঝতে পেরেছেন, ধন্যবাদ।