
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 text2 = "Doe";
let text3 = text1 + " " + text2;
Type Operators: কোনো একটা variable বা value এর type জানার জন্য যে operator ব্যবহৃত হয় ,তাকে Type Operator বলে। যেমন: typeof ।
Operand কি ?
Operator এর দুই পাশে যে value গুলো থাকে, Programming Language এর পরিভাষায় তাদেরকে Operand বলে। নিচের উদাহরণের মাধ্যমে Operator এবং Operand বুঝে নেয়া যাক :
let b = 7;
let sum = a + b ;
এখানে plus sign (+) এর দুই পাশের যথাক্রমে a এবং b এই দুইটা Operand আর plus sign (+) টি হচ্ছে Operator ।
Operator Precedence কি?
Operator Precedence বলতে এমন কিছু নিয়মের সমষ্টি সমুহকে বুঝায় যা দিয়ে JavaScript এ কোড রান হওয়ার সময় কোন কাজটি আগে সম্পাদিত হবে, তা নির্ধারিত হয়। নিচের উদাহরণ থেকে বুঝে নেই -
<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 টি বেশি অগ্রাধিকার প্রাপ্ত । এবার নিচের আরেকটি উদাহরণ লক্ষ্য করা যাক :
<html>
<body>
<script>
document.write((1 + 5) * 3); //Output 18 But why not 16?
</script>
</body>
</html>
Parentheses “( )” Operator টি Multiplication “ * ” Operator এর চেয়ে বেশি অগ্রাধিকার প্রাপ্ত হওয়ায়, প্রথমে Parentheses এর মধ্যের addition এর কাজটি সম্পাদিত হয়। তারপর multiplication “*” এর কাজটি সম্পাদিত হয়।
আশা করি বুঝতে পেরেছেন, ধন্যবাদ।