টাইপস্ক্রিপ্টে `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
হিসেবে গণ্য করা হয়:।
- সংখ্যা
0
""
(ফাঁকা স্ট্রিং)
বাকি সমস্ত মান 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 অপারেটর (??
) ব্যবহার করা অনাকাঙ্ক্ষিত আচরণ এড়াতে সাহায্য করতে পারে।
আপনি আমাদের ইউটিউব চ্যানেলে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করে উপরের নিবন্ধটি অনুসরণ করতে পারেন। দয়া করে ইউটিউব চ্যানেলটিও দেখুন।