টাইপস্ক্রিপ্টে অপারেটরস
এই প্রবন্ধে টাইপস্ক্রিপ্টে অপারেটরস ব্যাখ্যা করা হয়েছে।
YouTube Video
টাইপস্ক্রিপ্টে অপারেটরস
টাইপস্ক্রিপ্টে অপারেটরস ব্যবহার করা হয় সংখ্যাসূচক গণনা, মানের তুলনা এবং যৌক্তিক ক্রিয়াকলাপে। যেহেতু টাইপস্ক্রিপ্ট জাভাস্ক্রিপ্টের সাথে একই রকম অপারেটর ব্যবহার করে, সেগুলো সহজেই অভ্যাস করা যায়, তবে টাইপস্ক্রিপ্ট টাইপ সেফটির মাধ্যমে আরও কঠোর অপারেশন করতে সক্ষম করে।
প্রধান অপারেটরগুলোর তালিকা নিচে দেওয়া হল:।
গাণিতিক অপারেটরস
গাণিতিক অপারেটরস সংখ্যাসূচক গণনার জন্য ব্যবহৃত হয়।
অপারেটর | বর্ণনা | উদাহরণ | ফলাফল |
---|---|---|---|
+ |
যোগ | 5 + 3 |
8 |
- |
বিয়োগ | 5 - 3 |
2 |
* |
গুন | 5 * 3 |
15 |
/ |
ভাগ | 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 = 10 |
x = 10 |
+= |
যোগ ও বরাদ্দ | x += 5 |
x = 15 |
-= |
বিয়োগ ও বরাদ্দ | x -= 5 |
x = 5 |
*= |
গুন ও বরাদ্দ | x *= 2 |
x = 20 |
/= |
ভাগ ও বরাদ্দ | x /= 2 |
x = 5 |
%= |
ভাগশেষ ও বরাদ্দ | x %= 3 |
x = 1 |
1let z = 5;
2z += 3;
3console.log(z); // Outputs: 8
4
5z *= 2;
6console.log(z); // Outputs: 16
তুলনা অপারেটরসমূহ
তুলনা অপারেটরগুলো মানগুলোর তুলনা করে এবং true
অথবা false
রিটার্ন করে।
অপারেটর | বিবরণ | উদাহরণ | ফলাফল |
---|---|---|---|
== |
সমান (টাইপ তুলনা ছাড়াই) | 5 == "5" |
true |
=== |
কঠোরভাবে সমান (টাইপ অন্তর্ভুক্ত) | 5 === "5" |
false |
!= |
সমান নয় (টাইপ তুলনা ছাড়াই) | 5 != "5" |
false |
!== |
কঠোরভাবে সমান নয় (টাইপ অন্তর্ভুক্ত) | 5 !== "5" |
true |
> |
বড় | 5 > 3 |
true |
< |
ছোট | 5 < 3 |
false |
>= |
বড় বা সমান | 5 >= 5 |
true |
<= |
ছোট বা সমান | 5 <= 3 |
false |
1console.log('5 == "5" :', 5 == "5"); // Outputs: true
2console.log('5 === "5" :', 5 === "5"); // Outputs: false
3console.log('5 != "5" :', 5 != "5"); // Outputs: false
4console.log('5 !== "5" :', 5 !== "5"); // Outputs: true
5console.log('5 > 3 :', 5 > 3); // Outputs: true
6console.log('5 < 3 :', 5 < 3); // Outputs: false
7console.log('5 >= 5 :', 5 >= 5); // Outputs: true
8console.log('5 <= 3 :', 5 <= 3); // Outputs: false
লজিক্যাল অপারেটরসমূহ
লজিক্যাল অপারেটরগুলো লজিক্যাল এক্সপ্রেশনের সংমিশ্রণের জন্য ব্যবহার করা হয়।
অপারেটর | বিবরণ | উদাহরণ | ফলাফল |
---|---|---|---|
&& |
লজিক্যাল AND (এবং) | true && false |
false |
|| |
লজিক্যাল OR (অথবা) | true || false |
true |
! |
অস্বীকৃতি (Negation) | !true |
false |
1console.log('true && false :', true && false); // Outputs: false
2console.log('true || false :', true || false); // Outputs: true
3console.log('!true :', !true); // Outputs: 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}
যেহেতু প্রাকৃতিক ভাষা অস্পষ্ট হতে পারে, তাই কোডিং এবং সিস্টেম ডিজাইন করার সময় সতর্কতা প্রয়োজন।
বিটওয়াইজ অপারেটরসমূহ
বিটওয়াইজ অপারেটরগুলো সংখ্যা বিট স্তরে পরিচালনা করে।
অপারেটর | বিবরণ | উদাহরণ | ফলাফল |
---|---|---|---|
& |
লজিক্যাল AND (এবং) | 5 & 1 |
1 |
` | ` | লজিক্যাল OR (অথবা) | 5 | 1 |
^ |
এক্সক্লুসিভ OR (XOR) | 5 ^ 1 |
4 |
~ |
অস্বীকৃতি (NOT) | ~5 |
-6 |
<< |
বাম সরানো (Left Shift) | 5 << 1 |
10 |
>> |
ডান সরানো (Signed Right Shift) | 5 >> 1 |
2 |
>>> |
ডান সরানো (Unsigned Right Shift) | 5 >>> 1 |
2 |
1console.log('5 & 1 :', 5 & 1); // Outputs: 1 (AND operation)
2console.log('5 | 1 :', 5 | 1); // Outputs: 5 (OR operation)
3console.log('5 ^ 1 :', 5 ^ 1); // Outputs: 4 (XOR operation)
4console.log('~5 :', ~5); // Outputs: -6 (NOT operation)
5console.log('5 << 1 :', 5 << 1); // Outputs: 10 (Left shift operation)
6console.log('5 >> 1 :', 5 >> 1); // Outputs: 2 (Right shift operation)
7console.log('5 >>> 1:', 5 >>> 1); // Outputs: 2 (Unsigned right shift operation)
টার্নারি অপারেটর
টার্নারি অপারেটর একটি শর্তমূলক প্রকাশের ফলাফলের উপর ভিত্তি করে বিভিন্ন মান প্রদান করে।
1let age = 20;
2let access = (age >= 18) ? "Allowed" : "Denied";
3console.log(access); // Outputs: Allowed
টাইপ অপারেটরস
টাইপস্ক্রিপ্ট-এর টাইপ অপারেটরস অন্তর্ভুক্ত নিম্নলিখিতগুলোঃ।
অপারেটর | বর্ণনা | উদাহরণ | ফলাফল |
---|---|---|---|
typeof |
একটি ভেরিয়েবলের টাইপ ফেরত দেয় | typeof 123 |
"number" |
instanceof |
একটি অবজেক্ট নির্দিষ্ট ক্লাসের অন্তর্গত কিনা তা যাচাই করে | arr instanceof Array |
true |
is |
টাইপ গার্ড হিসাবে, একটি ভ্যালু নির্দিষ্ট টাইপের কিনা তা যাচাই করে | value is string |
true or false |
1console.log(typeof "Hello"); // "string"
2console.log(typeof 42); // "number"
3
4let arr: number[] = [1, 2, 3];
5console.log("arr instanceof Array : ", arr instanceof Array); // true
6
7// Example of Type Guard
8function isString(value: any): value is string {
9 return typeof value === "string";
10}
11
12let value: any = "Hello";
13if (isString(value)) {
14 console.log("Value is a string:", value); // "Value is a string: Hello"
15}
টাইপ অপারেটরস একটি ভ্যালুর টাইপ যাচাই বা একে একটি নির্দিষ্ট টাইপে রূপান্তর করতে ব্যবহৃত হয়।
typeof
অপারেটরটি একটি ভেরিয়েবলের টাইপ ফেরত দেয়।instanceof
অপারেটরটি যাচাই করে একটি অবজেক্ট নির্দিষ্ট ক্লাসের অন্তর্গত কিনা।is
অপারেটরটি ব্যবহার হয় একটি ভ্যালু নির্দিষ্ট টাইপের কিনা যাচাই করার জন্য। এটি টাইপস্ক্রিপ্টের টাইপ গার্ডের অংশ।
সারসংক্ষেপ
- গাণিতিক অপারেটর: মৌলিক গণনা সম্পাদন করে।
- অ্যাসাইনমেন্ট অপারেটর: ভেরিয়েবলের মধ্যে মান নির্ধারণ করে।
- তুলনামূলক অপারেটর: মানগুলির তুলনা করে।
- যৌক্তিক অপারেটর: যৌক্তিক শর্তগুলির সংমিশ্রণ করে।
- বিটওয়াইস অপারেটর: বিট স্তরে অপারেশন সম্পাদন করে।
- টার্নারি অপারেটর: শর্তের উপর ভিত্তি করে মান প্রদান করে।
- টাইপ অপারেটরস একটি ভ্যালুর টাইপ যাচাই করতে পারে।
টাইপস্ক্রিপ্টে, এই অপারেটরগুলি জটিল গণনা এবং শর্তমূলক প্রকাশগুলো দক্ষতার সাথে লেখার জন্য ব্যবহার করা যেতে পারে।
আপনি আমাদের ইউটিউব চ্যানেলে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করে উপরের নিবন্ধটি অনুসরণ করতে পারেন। দয়া করে ইউটিউব চ্যানেলটিও দেখুন।