জাভাস্ক্রিপ্টে অপারেটরস
এই নিবন্ধে, আমরা জাভাস্ক্রিপ্টের অপারেটরস সম্পর্কে ব্যাখ্যা করব।
YouTube Video
জাভাস্ক্রিপ্টে অপারেটরস
জাভাস্ক্রিপ্টে অপারেটরস হল এমন প্রতীক বা কীওয়ার্ড যা সংখ্যা এবং ভেরিয়েবলের উপর গাণিতিক হিসাব বা তুলনা করার জন্য ব্যবহৃত হয়। বিভিন্ন ধরণের অপারেটর রয়েছে, প্রতিটি ভিন্ন প্রকারের কাজ সম্পন্ন করে থাকে। নিচে প্রধান কিছু অপারেটরের সংক্ষিপ্তসার দেওয়া হলঃ।
গাণিতিক অপারেটরস
জাভাস্ক্রিপ্টের গাণিতিক অপারেটরগুলোর মধ্যে নিম্নলিখিতগুলো অন্তর্ভুক্ত:।
অপারেটর | বর্ণনা | উদাহরণ | ফলাফল |
---|---|---|---|
+ |
যোগফল | 5 + 2 |
7 |
- |
বিয়োগফল | 5 - 2 |
3 |
* |
গুণ | 5 * 2 |
10 |
/ |
ভাগ | 5 / 2 |
2.5 |
% |
মডুলাস (অবশিষ্টাংশ) | 5 % 2 |
1 |
++ |
ইনক্রিমেন্ট (১ দ্বারা বৃদ্ধি) | let x = 5; x++ |
6 |
-- |
ডিক্রিমেন্ট (১ দ্বারা হ্রাস) | let x = 5; x-- |
4 |
1let a = 10; // Initialize variable 'a' with the value 10
2let b = 3; // Initialize variable 'b' with the value 3
3
4// Perform and display arithmetic operations between 'a' and 'b'
5console.log("Addition (a + b): ", a + b); // 13
6console.log("Subtraction (a - b): ", a - b); // 7
7console.log("Multiplication (a * b):", a * b); // 30
8console.log("Division (a / b): ", a / b); // 3.333...
9console.log("Modulus (a % b): ", a % b); // 1
10
11// Demonstrate post-increment operation on 'a'
12// Output the current value of 'a' (10), then increment
13console.log("Post-increment (a++): ", a++);
14// Display the incremented value of 'a' (11)
15console.log("Value of 'a' after increment:", a);
16
17// Demonstrate pre-increment operation on 'a'
18// Increment 'a' first (12) then output
19console.log("Pre-increment (++a): ", ++a);
20
21// Demonstrate post-decrement operation on 'a'
22// Output the current value of 'a' (12), then decrement
23console.log("Post-decrement (a--): ", a--);
24// Display the decremented value of 'a' (11)
25console.log("Value of 'a' after decrement:", a);
26
27// Demonstrate pre-decrement operation on 'a'
28// Decrement 'a' first (10) then output
29console.log("Pre-decrement (--a): ", --a);
গাণিতিক অপারেটরগুলি সংখ্যার উপর মৌলিক গাণিতিক ক্রিয়াকলাপ সম্পন্ন করে। যোগ এবং বিয়োগ ছাড়াও, আপনি মডুলাস, ইনক্রিমেন্ট এবং ডিক্রিমেন্টের মতো অপারেশন সম্পন্ন করতে পারেন। লক্ষ্য করুন যে ইনক্রিমেন্ট বা ডিক্রিমেন্টের দ্বারা যে মান ফেরৎ আসে তা ভেরিয়েবলের আগে বা পরে অপারেটর স্থাপন করার উপর নির্ভর করে পরিবর্তিত হয়।
অ্যাসাইনমেন্ট অপারেটরস
জাভাস্ক্রিপ্টের অ্যাসাইনমেন্ট অপারেটরগুলোর মধ্যে নিম্নলিখিতগুলো অন্তর্ভুক্ত:।
অপারেটর | বর্ণনা | উদাহরণ | ফলাফল |
---|---|---|---|
= |
অ্যাসাইনমেন্ট | x = 5 |
x -কে মান 5 অ্যাসাইন করা হয়েছে |
+= |
যোগফল অ্যাসাইনমেন্ট | x += 5 |
x = x + 5 |
-= |
বিয়োগফল অ্যাসাইনমেন্ট | x -= 5 |
x = x - 5 |
*= |
গুণ অ্যাসাইনমেন্ট | x *= 5 |
x = x * 5 |
/= |
ভাগ অ্যাসাইনমেন্ট | x /= 5 |
x = x / 5 |
%= |
মডুলাস অ্যাসাইনমেন্ট | x %= 5 |
x = x % 5 |
1let x = 10;
2
3x += 5; // x = x + 5, so x becomes 15
4console.log('After x += 5 : ', x); // 15
5
6x -= 10;
7console.log('After x -= 10 : ', x); // 5
8
9x *= 3;
10console.log('After x *= 3 : ', x); // 15
11
12x /= 3;
13console.log('After x /= 3 : ', x); // 5
14
15x %= 2;
16console.log('After x %= 2 : ', x); // 1
অ্যাসাইনমেন্ট অপারেটরগুলি ভ্যারিয়েবলের মান নির্দেশ বা সেগুলির মান আপডেট করতে ব্যবহৃত হয়। সাধারণ অ্যাসাইনমেন্ট ছাড়াও, যোগ এবং মডুলাসের মতো গাণিতিক ক্রিয়াগুলির জন্য অ্যাসাইনমেন্ট অপারেটরগুলি রয়েছে।
তুলনামূলক অপারেটর
জাভাস্ক্রিপ্টের তুলনা অপারেটরগুলোর মধ্যে নিম্নলিখিতগুলো অন্তর্ভুক্ত:।
অপারেটর | বর্ণনা | উদাহরণ | ফলাফল |
---|---|---|---|
== |
সমান | 5 == "5" |
true |
=== |
কঠোরভাবে সমান (প্রকার এবং মান উভয়ই সমান) | 5 === "5" |
false |
!= |
অসমান | 5 != "5" |
false |
!== |
কঠোরভাবে অসমান | 5 !== "5" |
true |
> |
বড় | 5 > 2 |
true |
< |
ছোট | 5 < 2 |
false |
>= |
বড় বা সমান | 5 >= 5 |
true |
<= |
ছোট বা সমান | 5 <= 4 |
false |
1console.log("5 == '5' evaluates to:", 5 == "5"); // true (because the values are equal)
2console.log("5 === '5' evaluates to:", 5 === "5"); // false (because the types are different)
3console.log("5 != '5' evaluates to:", 5 != "5"); // false
4console.log("5 !== '5' evaluates to:", 5 !== "5"); // true
5console.log("5 > 2 evaluates to:", 5 > 2); // true
6console.log("5 < 2 evaluates to:", 5 < 2); // false
7console.log("5 >= 5 evaluates to:", 5 >= 5); // true
8console.log("5 <= 4 evaluates to:", 5 <= 4); // false
9console.log("5 >= '5' evaluates to:", 5 >= "5"); // true
10console.log("5 <= '5' evaluates to:", 5 <= "5"); // true
- তুলনামূলক অপারেটর মানগুলি তুলনা করে এবং সত্য বা মিথ্যা প্রদান করে।
- সমতা অপারেটর (
==
) প্রয়োজন হলে তুলনা করার আগে স্বয়ংক্রিয়ভাবে বিভিন্ন প্রকার রূপান্তর করে। কঠোর সমতা অপারেটর (===
) তুলনার সময় কোনো প্রকার রূপান্তর করে না এবং কেবলমাত্র উভয় মানের প্রকার এবং মান একই হলেtrue
রিটার্ন করে। কঠোর সমতা অপারেটর (===
) ব্যবহার অনিচ্ছাকৃত প্রকার রূপান্তরের কারণে সৃষ্ট বাগ প্রতিরোধ করতে সাহায্য করে, তাই এটি অগ্রাধিকার ভিত্তিতে ব্যবহার করার পরামর্শ দেওয়া হয়।
যৌক্তিক অপারেটর
জাভাস্ক্রিপ্টের যৌক্তিক অপারেটরগুলোর মধ্যে নিম্নলিখিতগুলো অন্তর্ভুক্ত:।
অপারেটর | বর্ণনা | উদাহরণ | ফলাফল |
---|---|---|---|
&& |
এবং (উভয় শর্ত সত্য হলে সত্য হয়) | true && false |
false |
|| |
অথবা (যেকোনো একটি শর্ত সত্য হলে সত্য হয়) | true || false |
true |
! |
না (সত্য থেকে মিথ্যা এবং মিথ্যা থেকে সত্য করে) | !true |
false |
1let a = true;
2let b = false;
3
4console.log("a && b evaluates to:", a && b); // false
5console.log("a || b evaluates to:", a || b); // true
6console.log("!a evaluates to:", !a); // false
যখন একাধিক শর্ত থাকে, শর্তগুলির সংমিশ্রণ মূল্যায়নের জন্য যৌক্তিক অপারেটর ব্যবহৃত হয়।
যৌক্তিক অপারেটরের অগ্রাধিকার
জাভাস্ক্রিপ্টে, যৌক্তিক অপারেটরসমূহ সাধারণত NOT
প্রথম, তারপরে AND
, এবং তারপর OR
ক্রমে মূল্যায়ন করা হয়।
NOT
এর সর্বোচ্চ অগ্রাধিকার রয়েছে
NOT
একটি একক অপারেটর এবং এটি সর্বোচ্চ অগ্রাধিকার সহ মূল্যায়ন করা হয়।
1console.log(!true || false); // false
AND
এর অগ্রাধিকার OR
এর চেয়ে বেশি
AND
এর অগ্রাধিকার OR
এর চেয়ে বেশি, তাই AND
অংশটি প্রথমে মূল্যায়িত হয়।
1console.log(true || false && false); // true
এইভাবে, AND
(&&
) অংশটি প্রথমে মূল্যায়িত হয়, এবং এর ফলাফল OR
(||
) অংশে প্রেরণ করা হয়।
AND
এবং OR
শর্ট-সার্কিট মূল্যায়ন করে
জাভাস্ক্রিপ্টের AND
এবং OR
শর্ট-সার্কিট মূল্যায়ন করে। যদি ফলাফল বাম পাশের মান দ্বারা নির্ধারণ করা যায়, তবে ডান পাশে থাকা এক্সপ্রেশন মূল্যায়ন করা হয় না।
1let a = false && console.log("This will not be printed");
2console.log(a); // false
3
4let b = true || console.log("This will not be printed");
5console.log(b); // true
উভয় ক্ষেত্রেই, console.log()
কার্যকর করা হবে না।
স্পষ্ট অগ্রাধিকার প্রতিষ্ঠা করুন
ফলিত বন্ধনী দিয়ে প্রকাশগুলো স্পষ্টভাবে গোষ্ঠীবদ্ধ করার মাধ্যমে আপনি অগ্রাধিকার সম্পর্কিত ভুল বোঝাবুঝি প্রতিরোধ করতে পারেন।
1console.log(true || (false && false)); // true
প্রাকৃতিক ভাষা এবং প্রোগ্রামের ব্যাখ্যার মধ্যে পার্থক্য
যৌক্তিক অপারেটর ব্যবহারের সময়, প্রাকৃতিক ভাষার অস্পষ্টতাগুলো সম্পর্কে সচেতন থাকা গুরুত্বপূর্ণ। উদাহরণস্বরূপ, যখন বলা হয় 'সাদা কুকুর বা বিড়াল,' এটি হয় 'একটি সাদা কুকুর বা যেকোনো রঙের বিড়াল' অথবা 'একটি সাদা কুকুর বা একটি সাদা বিড়াল' বোঝাতে পারে। কোডে এটি এমন দেখাবে:।
1if (isWhite && isDog || isCat) {
2 console.log(' "A white dog" or "a cat of any color" ');
3}
4
5if (isWhite && (isDog || isCat)) {
6 console.log(' "A white dog" or "a white cat" ');
7}
8
9console.log(true || (false && false)); // true
যেহেতু প্রাকৃতিক ভাষায় এমন অস্পষ্টতা থাকে, তাই কোডিং বা ডিজাইনের সময় সতর্কতা প্রয়োজন।
ত্রৈধ অপারেটর (শর্তমূলক অপারেটর)
জাভাস্ক্রিপ্ট একটি টার্নারি অপারেটর (শর্তাধীন অপারেটর) অন্তর্ভুক্ত করে।
অপারেটর | বর্ণনা | উদাহরণ | ফলাফল |
---|---|---|---|
? : |
যদি শর্তটি সত্য হয়, তবে বাম দিক কার্যকর করা হয়, যদি মিথ্যা হয়, তবে ডান দিক | condition ? if true : if false |
শর্তের উপর ভিত্তি করে ফলাফল |
1let age = 20;
2let message = age >= 18 ? "Adult" : "Minor";
3console.log(message); // "Adult"
এটি condition ? true হলে মান : false হলে মান
আকারে লেখা হয়।
বিটওয়াইজ অপারেটর
জাভাস্ক্রিপ্টে বিটওয়াইজ অপারেটরগুলির মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে।
অপারেটর | বর্ণনা | উদাহরণ | ফলাফল |
---|---|---|---|
& |
AND | 5 & 1 |
1 |
| |
OR | 5 | 1 |
5 |
^ |
XOR | 5 ^ 1 |
4 |
~ |
NOT | ~5 |
-6 |
<< |
বাম দিকে শিফট | 5 << 1 |
10 |
>> |
ডান শিফট | 5 >> 1 |
2 |
1let x = 0x0F & 0x0C;
2console.log("0x0F & 0x0C evaluates to:", x, "(0x0C, 12)"); // 0x0C (12)
3
4x = 0x04 | 0x02;
5console.log("0x04 | 0x02 evaluates to:", x, "(0x06, 6)"); // 0x06 (6)
6
7x = 0x0F ^ 0x0C;
8console.log("0x0F ^ 0x0C evaluates to:", x, "(0x03, 3)"); // 0x03 (3)
9
10// The inverted number is represented as a negative value
11// because JavaScript numbers are stored as signed 32-bit integers.
12x = ~0x0C;
13console.log("~0x0C evaluates to:", x, "(-13, 0xF3)"); // 0xF3 (-13)
14
15x = 0x04 << 1;
16console.log("0x04 << 1 evaluates to:", x, "(0x08, 8)"); // 0x08 (8)
17x = 0x04 >> 1;
18console.log("0x04 >> 1 evaluates to:", x, "(0x02, 2)"); // 0x02 (2)
বিট অপারেটর সংখ্যা নিয়ে বিট স্তরে গণনা করে। সাধারণত এরা নিম্ন-স্তরের প্রসেসিংয়ের জন্য ব্যবহার করা হয়।
টাইপ অপারেটর
জাভাস্ক্রিপ্টে টাইপ অপারেটরগুলির মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে।
অপারেটর | বর্ণনা | উদাহরণ | ফলাফল |
---|---|---|---|
typeof |
একটি ভেরিয়েবলের টাইপ ফেরত দেয় | typeof 123 |
"number" |
instanceof |
পরীক্ষা করে একটি অবজেক্ট নির্দিষ্ট কোনো শ্রেণীর অন্তর্গত কিনা | arr instanceof Array |
true |
1console.log(typeof "Hello"); // "string"
2console.log(typeof 42); // "number"
3
4let arr = [1, 2, 3];
5console.log("arr instanceof Array : ", arr instanceof Array); // true
টাইপ অপারেটর একটি মানের টাইপ পরীক্ষা করতে বা এটি একটি নির্দিষ্ট টাইপে রূপান্তর করতে ব্যবহার করা হয়।
typeof
অপারেটর একটি ভেরিয়েবলের ধরন প্রদান করে।
instanceof
অপারেটর চেক করে যে কোনো অবজেক্ট একটি নির্দিষ্ট ক্লাসের অন্তর্ভুক্ত কিনা।
সারসংক্ষেপ
- গাণিতিক অপারেটর প্রাথমিক গণনা সম্পন্ন করে।
- অ্যাসাইনমেন্ট অপারেটর ভেরিয়েবলে মান বরাদ্দ বা আপডেট করে।
- তুলনামূলক অপারেটর দুটি মানের তুলনা করে এবং সত্য বা মিথ্যা ফেরত দেয়।
- লজিক্যাল অপারেটর শর্তগুলোর সমন্বয় মূল্যায়ন করে।
- টার্নারি অপারেটর আপনাকে
if
এর চেয়ে সংক্ষিপ্ত আকারে শর্তযুক্ত বিবৃতি লেখার সুযোগ দেয়। - বিটওয়াইজ অপারেটর বিট স্তরে গণনা সম্পন্ন করে।
- টাইপ অপারেটর একটি মানের টাইপ পরীক্ষা করতে সক্ষম করে।
আপনি আমাদের ইউটিউব চ্যানেলে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করে উপরের নিবন্ধটি অনুসরণ করতে পারেন। দয়া করে ইউটিউব চ্যানেলটিও দেখুন।