জাভাস্ক্রিপ্টের কম্প্যারিজন এবং লজিক্যাল অপারেটর
true অথবা false যাচাই করার জন্য কম্প্যারিজন এবং লজিক্যাল অপারেটর ব্যবহার করা হয়।
কম্প্যারিজন অপারেটর
কম্প্যারিজন অপারেটর ভ্যারিয়েবল এবং ভ্যালুর মধ্যে সাদৃশ্য অথবা পার্থক্য নির্ধারন করার জন্য ব্যবহার করা হয়।
দেওয়া আছে x = 5, নিম্নোক্ত টেবিলে কম্প্যারিজন অপারেটর ব্যাখ্যা করা হয়েছেঃ
অপারেটর | বর্ণনা | তুলনা | রিটার্ন করে |
---|---|---|---|
== | সমান | x == 8 | false |
x == 5 | true | ||
x == "5" | true | ||
=== | একই ভ্যালু এবং একই টাইপ | x === 5 | true |
x === "5" | false | ||
!= | সমান নয় | x != 8 | true |
!== | ভ্যালু সমান নয় এবং টাইপ একই নয় | x !== 5 | false |
x !== "5" | true | ||
x !== 8 | true | ||
> | বড় | x > 8 | false |
< | ছোট | x < 8 | true |
>= | বড় অথবা সমান | x >= 8 | false |
<= | ছোট অথবা সমান | x <= 8 | true |
যেভাবে ব্যবহার করবেন
কন্ডিশনাল স্টেটমেন্টে কম্প্যারিজন অপারেটর ব্যবহার করে ভ্যালুর তুলনা করা হয় এবং ফলাফলের উপর নির্ভর করে পরবর্তী কার্যক্রম নির্ধারন করা হয়ঃ
if (age < 18) text = "Too young";
কন্ডিশনাল স্টেটমেন্ট সম্পর্কে পরবর্তী পরিচ্ছেদে আরো শিখতে পারবেন।
লজিক্যাল অপারেটর
লজিক্যাল অপারেটর ভ্যারিয়েবল এবং ভ্যালুর মধ্যে লজিক নির্ধারন করে।
দেওয়া আছে x = 6 এবং y = 3, নিম্নোক্ত টেবিলে লজিক্যাল অপারেটর সম্পর্কে ব্যাখ্যা করা হয়েছেঃ
অপারেটর | বর্ণনা | উদাহরণ |
---|---|---|
&& | এবং | (x < 10 && y > 1) true রিটার্ন করে |
|| | অথবা | (x == 5 || y == 5) false রিটার্ন করে |
! | না | !(x == y) true রিটার্ন করে |
কন্ডিশনাল(Ternary) অপারেটর
জাভাস্ক্রিপ্টে একটি কন্ডিশনাল অপারেটর রয়েছে যা শর্তের উপর ভিত্তি করে ভ্যারিয়েবলে ভ্যালু এসাইন করে।
গঠনপ্রণালী
variablename = (condition) ? value1:value2
উদাহরণ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>
<h3> আপনার বয়স সাবমিট করুন এবং বাটনে ক্লিক করুন :</h3>
<input id="age" value="18" />
<button onclick="myFunc()">সাবমিট </button>
<p id="test"></p>
<script>
function myFunc() {
var age, voteable;
age = document.getElementById("age").value;
voteable = (age < 18) ? " অপ্রাপ্ত বয়স্ক ":" প্রাপ্ত বয়স্ক";
document.getElementById("test").innerHTML = voteable + " ভোট দেওয়ার জন্য";
}
</script>
</body>
</html>
ফলাফল
যদি ভ্যারিয়েবল age এর ভ্যালু 18 এর নিচে হয় তাহলে ভ্যারিয়েবলের ভ্যালু হবে "Can not drive" অন্যথায় ভ্যারিয়েবলের ভ্যালু হবে "Can drive" ।
বিভিন্ন টাইপের মধ্যে তুলনা
বিভিন্ন টাইপের ডাটার মধ্যে তুলনা করলে অপ্রত্যাশিত ফলাফল দেখাতে পারে।
স্ট্রিংকে একটি নম্বরের সাথে তুলনা করলে জাভাস্ক্রিপ্ট একটি স্ট্রিংকে নম্বরে রুপান্তর করে। এম্পটি স্ট্রিং 0 তে রুপান্তর হয়। একটি টেক্সট স্ট্রিং "NaN" এ রুপান্তর হয় যা সব সময় false হয়।
উদাহরণ | ভ্যালু |
---|---|
2 < 12 | true |
2 < "12" | true |
2 < "Azizur" | false |
2 > "Rahman" | false |
2 == "Azizur" | false |
"2" < "12" | false |
"2" > "12" | true |
"2" == "12" | false |
যখন দুইটি স্ট্রিংকে তুলনা করা হয়, তখন "2" চেয়ে "12" ছোট হবে। কারন বর্ণানুক্রমে 2 এর চেয়ে 1 ছোট।
একটি সঠিক ফলাফলের জন্য, ভ্যারিয়েবলকে তুলনা করার আগে একটি সঠিক টাইপে রুপান্তর করতে হবেঃ
উদাহরণ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>
<h3> আপনার বয়স সাবমিট করুন এবং বাটনে ক্লিক করুন :</h3>
<input id="age" value="18" />
<button onclick="myFunc()">সাবমিট </button>
<p id="test"></p>
<script>
function myFunc() {
var age, voteable;
age = Number(document.getElementById("age").value);
if(isNaN(age)){
voteable = "ভুল ইনপুট";
}else{
voteable = (age < 18) ? " অপ্রাপ্ত বয়স্ক ":" প্রাপ্ত বয়স্ক";
}
document.getElementById("test").innerHTML = voteable;
}
</script>
</body>
</html>
ফলাফল
জাভাস্ক্রিপ্ট বিটওয়াইজ অপারেটর
বিট অপারেটর ৩2-বিট নম্বরে কাজ করে।
যেকোনো নিউমেরিক অপারেন্ডকে ৩2-বিট নম্বরে রুপান্তর হয়।
এই ফলাফল জাভাস্ক্রিপ্ট নম্বরে রুপান্তর হয়।
অপারটর | বর্ণনা | উদাহরণ | এর মত | ফলাফল | ডেসিমাল |
---|---|---|---|---|---|
& | AND | x = 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | OR | x = 5 | 1 | 0101 | 0001 | 0101 | 5 |
~ | NOT | x = ~ 5 | ~0101 | 1010 | 10 |
^ | XOR | x = 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
<< | Left shift | x = 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | Right shift | x = 5 >> 1 | 0101 >> 1 | 0010 | 2 |
উপরের টেবিল ৪ বিট unsigned উদাহরণ ব্যবহার করেছে। কিন্তু জাভাস্ক্রিপ্ট ৩2-বিট নম্বর ব্যবহার করে।
এই কারনে জাভাস্ক্রিপ্ট, ~ ৫ কে 1০ রিটার্ন করে না এটি -৬ রিটার্ন করেঃ
~00000000000000000000000000000101 এর রিটার্ন হবে 11111111111111111111111111111010
উদাহরণ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>
<h3>বিটওয়াইজ অপারেটর " & " দ্বারা AND বিটওয়াইজকে বুঝায় ।</h3>
<button onclick="myFunc()">সাবমিট </button>
<p id="test"></p>
<script>
function myFunc() {
document.getElementById("test").innerHTML = 5 & 1;
}
</script>
</body>
</html>
ফলাফল
উদাহরণ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>
<h3> বিটওয়াইজ অপারেটর " | " দ্বারা or বিটওয়াইজকে বুঝায়</h3>
<button onclick="myFunc()"> সাবমিট</button>
<p id="test"></p>
<script>
function myFunc() {
document.getElementById("test").innerHTML = 5 | 1;
}
</script>
</body>
</html>
ফলাফল
উদাহরণ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>
<h3> বিটওয়াইজ অপারেটর " >> " দ্বারা right shift বিটওয়াইজকে বুঝায় </h3>
<button onclick="myFunc()"> সাবমিট </button>
<p id="test"></p>
<script>
function myFunc() {
document.getElementById("test").innerHTML = 5 >> 1;
}
</script>
</body>
</html>
ফলাফল
উদাহরণ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>
<h3> left shift অপারেটর দ্বারা left shift বিটওয়াইজ কে বুঝায় ।</h3>
<button onclick="myFunc()"> চেষ্টা করি </button>
<p id="test"></p>
<script>
function myFunc() {
document.getElementById("test").innerHTML = 5 << 1;
}
</script>
</body>
</html>
ফলাফল
উদাহরণ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>
<h3> বিটওয়াইজ অপারেটর " ~ " দ্বারা বিটওয়াইজ NOT কে বুঝায় ।</h3>
<button onclick="myFunc()">সাবমিট</button>
<p id="test"></p>
<script>
function myFunc() {
document.getElementById("test").innerHTML = ~ 5;
}
</script>
</body>
</html>
ফলাফল