টাইপস্ক্রিপ্টে অপারেটরস

টাইপস্ক্রিপ্টে অপারেটরস

এই প্রবন্ধে টাইপস্ক্রিপ্টে অপারেটরস ব্যাখ্যা করা হয়েছে।

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 অপারেটরটি ব্যবহার হয় একটি ভ্যালু নির্দিষ্ট টাইপের কিনা যাচাই করার জন্য। এটি টাইপস্ক্রিপ্টের টাইপ গার্ডের অংশ।

সারসংক্ষেপ

  • গাণিতিক অপারেটর: মৌলিক গণনা সম্পাদন করে।
  • অ্যাসাইনমেন্ট অপারেটর: ভেরিয়েবলের মধ্যে মান নির্ধারণ করে।
  • তুলনামূলক অপারেটর: মানগুলির তুলনা করে।
  • যৌক্তিক অপারেটর: যৌক্তিক শর্তগুলির সংমিশ্রণ করে।
  • বিটওয়াইস অপারেটর: বিট স্তরে অপারেশন সম্পাদন করে।
  • টার্নারি অপারেটর: শর্তের উপর ভিত্তি করে মান প্রদান করে।
  • টাইপ অপারেটরস একটি ভ্যালুর টাইপ যাচাই করতে পারে।

টাইপস্ক্রিপ্টে, এই অপারেটরগুলি জটিল গণনা এবং শর্তমূলক প্রকাশগুলো দক্ষতার সাথে লেখার জন্য ব্যবহার করা যেতে পারে।

আপনি আমাদের ইউটিউব চ্যানেলে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করে উপরের নিবন্ধটি অনুসরণ করতে পারেন। দয়া করে ইউটিউব চ্যানেলটিও দেখুন।

YouTube Video