টাইপস্ক্রিপ্টে `truthy` এবং `falsy`

টাইপস্ক্রিপ্টে `truthy` এবং `falsy`

এই প্রবন্ধে, আমরা টাইপস্ক্রিপ্টে truthy এবং falsy ব্যাখ্যা করব।

YouTube Video

টাইপস্ক্রিপ্টে truthy এবং falsy

টাইপস্ক্রিপ্টে truthy এবং falsy ধারণা প্রোগ্রামের শর্তযুক্ত বিবৃতিতে অত্যন্ত গুরুত্বপূর্ণ ভূমিকা পালন করে। এখানে, আমরা এই ধারণাগুলি বিস্তারে ব্যাখ্যা করব এবং সেগুলি কীভাবে ব্যবহার করা হয় তা দেখাব। অতিরিক্তভাবে, আমরা কিছু নির্দিষ্ট টাইপস্ক্রিপ্ট কোড উদাহরণ দিয়ে ব্যাখ্যা করব কীভাবে truthy এবং falsy মানগুলি পরিচালনা করা হয়।

truthy এবং falsy কী?

জাভাস্ক্রিপ্ট এবং টাইপস্ক্রিপ্টে, যে কোনো মানকে শর্তযুক্ত প্রকাশে true (true) বা false (false) হিসেবে মূল্যায়ন করা হয়। এই মানগুলি যৌক্তিকভাবে truthy বা falsy হিসেবে শ্রেণীবদ্ধ করা হয়।

  • truthy বলতে এমন মান বোঝায় যা শর্তমূলক প্রকাশে true হিসেবে মূল্যায়িত হয়।
  • falsy বলতে এমন মান বোঝায় যা শর্তমূলক প্রকাশে false হিসেবে মূল্যায়িত হয়।

টাইপস্ক্রিপ্টে নিম্নলিখিত মানগুলি falsy হিসেবে গণ্য করা হয়:।

  1. সংখ্যা 0
  2. "" (ফাঁকা স্ট্রিং)

বাকি সমস্ত মান truthy হিসেবে গণ্য করা হয়।

truthy এবং falsy এর নির্দিষ্ট উদাহরণ

 1// Examples of falsy values
 2console.log("0 is", Boolean(0) ? "truthy" : "falsy");
 3console.log('"" is', Boolean("") ? "truthy" : "falsy");
 4console.log("null is", Boolean(null) ? "truthy" : "falsy");
 5console.log("undefined is", Boolean(undefined) ? "truthy" : "falsy");
 6console.log("NaN is", Boolean(NaN) ? "truthy" : "falsy");
 7
 8// Examples of truthy values
 9console.log("1 is", Boolean(1) ? "truthy" : "falsy");
10console.log('"hello" is', Boolean("hello") ? "truthy" : "falsy");
11console.log("[] is", Boolean([]) ? "truthy" : "falsy");
12console.log('" " (space) is', Boolean(" ") ? "truthy" : "falsy");

truthy এবং falsy ব্যবহার করে শর্তাবলী

truthy এবং falsy ধারণাগুলি প্রায়ই শর্তযুক্ত এবং লুপে ব্যবহৃত হয়। যেমন, if বিবৃতি বা while লুপে, আপনি সহজ শর্তমূলক মূল্যায়নের জন্য সরাসরি এই মানগুলি ব্যবহার করতে পারেন।

 1// Checking if the length of the array is 0
 2let items: string[] = [];
 3
 4if (items.length) {
 5    console.log("The array is not empty");
 6} else {
 7    console.log("The array is empty");
 8}
 9
10// Checking if the input value is empty
11let input = "";
12
13if (input) {
14    console.log("Input has value");
15} else {
16    console.log("Input is empty"); // This will be executed
17}

?? (Nullish Coalescing) এবং || (Logical OR) দিয়ে falsy মান পরিচালনা করা

টাইপস্ক্রিপ্টে, falsy মানগুলির সাথে কাজ করার সময় অনেকগুলি অপারেটর ব্যবহারযোগ্য। বিশেষত, Nullish Coalescing অপারেটর (??) এবং যৌক্তিক OR অপারেটর (||) সাধারণত ব্যবহৃত হয়।

|| (Logical OR)

যৌক্তিক OR অপারেটরটি falsy মানগুলিকে একটি ডিফল্ট মান দিয়ে প্রতিস্থাপন করতে ব্যবহৃত হয়। তবে, সমস্ত মান যা ফলসি হিসাবে বিবেচিত (মাত্র null এবং undefined নয়, বরং 0 এবং খালি স্ট্রিংগুলি "") তাও অন্তর্ভুক্ত হয়।

1let username = "";
2let displayName = username || "Guest";
3// Since username is empty, "Guest" is assigned
4
5console.log(displayName); // "Guest"

??(Nullish Coalescing)

নালিশ কোয়ালেসিং অপারেটর শুধুমাত্র null বা undefined -এ ডিফল্ট মান প্রয়োগ করে এবং অন্যান্য ফলসি মান যেমন 0 বা খালি স্ট্রিং "" গুলিকে তাদের আসল অবস্থায় গ্রহণ করে।

1let username2 = "";
2let displayName2 = username2 ?? "Guest";
3// The empty string is retained
4// since username2 is not null or undefined
5
6console.log(displayName2); // ""

truthy এবং falsy সম্পর্কিত সমস্যাগুলি

Truthy এবং Falsy বুঝতে হলে একটি গুরুত্বপূর্ণ বিষয় হল অপ্রত্যাশিত মানসমূহ Falsy হিসাবে বিবেচিত হতে পারে। উদাহরণস্বরূপ, 0 এবং খালি স্ট্রিং "" বৈধ মান, কিন্তু তারা কন্ডিশনাল স্টেটমেন্টে Falsy হিসাবে বিবেচিত হয়, যা ভুল মূল্যায়নের কারণ হতে পারে।

1let score = 0;
2
3if (score) {
4    console.log("You have a score!"); // This will not be executed
5} else {
6    console.log("No score available"); // This will be executed
7}

এমন ক্ষেত্রে, কঠোর তুলনা অপারেটর ব্যবহার করলে আপনি 0 এবং false এর মতো মানগুলি সঠিকভাবে আলাদা করতে সক্ষম হবেন।

1let score = 0;
2
3if (score === 0) {
4    console.log("Score is zero"); // Correctly evaluated
5}

falsy এবং NaN সম্পর্কিত সমস্যাগুলি

NaN বিশেষভাবে পরিচালনার প্রয়োজন কারণ এটি তুলনা অপারেটর ব্যবহার করার সময় কোনো মানের (এমনকি এটি নিজের সাথেও) সমান নয়।

1console.log("NaN === NaN:", NaN === NaN); // false

সুতরাং, NaN সঠিকভাবে শনাক্ত করতে Number.isNaN() ব্যবহার করা আরও নিরাপদ।

 1// Bad Example
 2let value = parseInt("0");
 3if (!value) {
 4    console.log("Value is NaN(Incorrect)"); // Incorrectly treats 0 as NaN
 5}
 6
 7// Good Example
 8let value2 = parseInt("hello");
 9if (Number.isNaN(value2)) {
10    console.log("Value is NaN(Correct)"); // Correctly identifies NaN
11}

তদনুসারে, NaN এমনকি নিজের সাথেও সমান নয়, তাই NaN-এর সাথে তুলনা সবসময় false প্রদান করে। পরিবর্তে Number.isNaN() ব্যবহার করলে আপনি আরও নির্ভরযোগ্য যাচাইকরণ করতে পারবেন।

উপসংহার

TypeScript-এ Truthy এবং Falsy এর ধারণাগুলি খুবই সুবিধাজনক, তবে আপনাকে কিছু নির্দিষ্ট মান, বিশেষ করে 0 এবং খালি স্ট্রিংগুলোর ক্ষেত্রে সতর্ক থাকতে হবে। এই মানগুলি শর্তমূলক যাচাইকরণে ব্যবহার করার সময়, শিথিল তুলনা (==) পরিবর্তে কঠোর তুলনা (===) বা Nullish Coalescing অপারেটর (??) ব্যবহার করা অনাকাঙ্ক্ষিত আচরণ এড়াতে সাহায্য করতে পারে।

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

YouTube Video