জাভাস্ক্রিপ্ট বুলিয়ান নিচের দুইটি ভ্যালুর যেকোন একটি প্রদর্শন করেঃ true অথবা false ।
প্রোগ্রামিং-এ আপনার এমন একটি ডাটা টাইপ দরকার হবে যেখানে শুধুমাত্র নিচের যেকোন একটি ভ্যালুর প্রয়োজন হবে, যেমনঃ
এই কারনে, জাভাস্ক্রিপ্টের একটি বুলিয়ান ডাটা টাইপ আছে। এটি শুধুমাত্র true অথবা false ভ্যালু ধারণ করে।
একটি এক্সপ্রেশন সত্য কিনা যাচাই করার জন্য আপনি Boolean() ব্যবহার করতে পারেনঃ
shot
আরো সহজভাবেঃ
sh9ot
জাভাস্ক্রিপ্ট কম্প্যারিজন অধ্যায়ে কম্প্যারিজন অপারেটর সম্পর্কে সম্পূর্ণ আলোচনা করা হয়েছে।
জাভাস্ক্রিপ্ট কন্ডিশন বা শর্ত পরিচ্ছেদে কন্ডিশনাল স্ট্যাটমেন্ট সম্পর্কে সম্পূর্ণ আলোচনা করা হয়েছে।
উদাহরণঃ
অপারেটর | বর্ণনা | উদাহরণ |
---|---|---|
== | equal to(সমান) | if (day == "Monday") |
> | greater than(বড়) | if (salary > 9000) |
< | less than(ছোট) | if (age < 18) |
sh9ot
kt_satt_skill_example_id=684
kt_satt_skill_example_id=687
kt_satt_skill_example_id=690
kt_satt_skill_example_id=691
kt_satt_skill_example_id=692
kt_satt_skill_example_id=694
true এবং false এর মত মৌলিক ভ্যালুর প্রোপার্টি এবং মেথড থাকে না(কারন তারা অবজেক্ট না)।
কিন্তু জাভাস্ক্রিপ্টে, মৌলিক ভ্যালুতে মেথড এবং প্রোপার্টি থাকে কারন যখন মেথড এবং প্রোপার্টি এক্সিকিউটিং হয় তখন জাভাস্ক্রিপ্ট মৌলিক ভ্যালুকে অবজেক্ট হিসেবে বিবেচনা করে।
সম্পূর্ণ বুলিয়ান রেফারেন্সের জন্য আমাদের সম্পূর্ণ জাভাস্ক্রিপ্ট বুলিয়ান রেফারেন্স পড়ুন।
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 |
কন্ডিশনাল স্টেটমেন্টে কম্প্যারিজন অপারেটর ব্যবহার করে ভ্যালুর তুলনা করা হয় এবং ফলাফলের উপর নির্ভর করে পরবর্তী কার্যক্রম নির্ধারন করা হয়ঃ
kt_satt_skill_example_id=709
কন্ডিশনাল স্টেটমেন্ট সম্পর্কে পরবর্তী পরিচ্ছেদে আরো শিখতে পারবেন।
লজিক্যাল অপারেটর ভ্যারিয়েবল এবং ভ্যালুর মধ্যে লজিক নির্ধারন করে।
দেওয়া আছে x = 6 এবং y = 3, নিম্নোক্ত টেবিলে লজিক্যাল অপারেটর সম্পর্কে ব্যাখ্যা করা হয়েছেঃ
অপারেটর | বর্ণনা | উদাহরণ |
---|---|---|
&& | এবং | (x < 10 && y > 1) true রিটার্ন করে |
|| | অথবা | (x == 5 || y == 5) false রিটার্ন করে |
! | না | !(x == y) true রিটার্ন করে |
জাভাস্ক্রিপ্টে একটি কন্ডিশনাল অপারেটর রয়েছে যা শর্তের উপর ভিত্তি করে ভ্যারিয়েবলে ভ্যালু এসাইন করে।
kt_satt_skill_example_id=713
kt_satt_skill_example_id=717
যদি ভ্যারিয়েবল 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 ছোট।
একটি সঠিক ফলাফলের জন্য, ভ্যারিয়েবলকে তুলনা করার আগে একটি সঠিক টাইপে রুপান্তর করতে হবেঃ
kt_satt_skill_example_id=719
বিট অপারেটর ৩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
kt_satt_skill_example_id=721
kt_satt_skill_example_id=724
kt_satt_skill_example_id=726
kt_satt_skill_example_id=727
kt_satt_skill_example_id=729
কন্ডিশনাল স্টেটমেন্ট বিভিন্ন শর্তের উপর ভিত্তি করে বিভিন্ন কার্য সম্পাদন করে।
কোড লিখার সময় আপনি মাঝে মাঝে বিভিন্ন সিদ্ধান্তের উপর বিভিন্ন কার্য সম্পাদন করতে চাইবেন।
এটা করার জন্য আপনি আপনার কোডে কন্ডিশনাল স্টেটমেন্ট ব্যবহার করতে পারেন।
জাভাস্ক্রিপ্টে নিম্নোক্ত কন্ডিশনাল স্টেটমেন্ট আছেঃ
if-এর শর্ত যদি true হয় তাহলে ব্লকের মধ্যে জাভাস্ক্রিপ্ট কোড এক্সিকিউট হবে।
kt_satt_skill_example_id=733
if লেখাটি ছোট হাতের লিখতে হবে। বড় হাতের(If অথবা IF) লিখলে জাভাস্ক্রিপ্ট ভুল দেখাবে।
যদি সময় 18:00(সন্ধ্যা ০৬ টা) এর নিচে হয় তাহলে "Good day" শুভেচ্ছা জানাবেঃ
kt_satt_skill_example_id=734
যদি শর্ত false হয় তাহলে else এর মধ্যে থাকা কোড এক্সিকিউট হয়।
kt_satt_skill_example_id=735
kt_satt_skill_example_id=737
যদি প্রথম শর্ত false হয় তাহলে শর্ত যোগ করার জন্য else if স্টেটমেন্ট ব্যবহার হয়।
kt_satt_skill_example_id=739
kt_satt_skill_example_id=740
ভিন্ন ভিন্ন শর্তের উপর ভিত্তি করে ভিন্ন ভিন্ন কার্য সম্পাদনের জন্য Switch স্টেটমেন্ট ব্যবহার করা হয়।
অনেকগুলো কোডের ব্লক থেকে এক্সিকিউট করার জন্য একটিকে নির্বাচন করতে Switch স্টেটমেন্ট ব্যবহার করা হয়।
kt_satt_skill_example_id=741
কাজের প্রক্রিয়াঃ
getDay() ব্যবহার করে আমরা সাপ্তাহিক দিনকে নম্বরে(0-6 পর্যন্ত) পেতে পারি।(Sunday=0, Monday=1, Tuesday=2...)
আমরা এই নম্বরকে দিনের নাম পাওয়ার জন্য ব্যবহার করতে পারিঃ
kt_satt_skill_example_id=742
যখন জাভাস্ক্রিপ্ট break কি-ওয়ার্ডে পৌছাবে, তখন switch ব্লকটি কাজ করা বন্ধ করে দিবে।
ইহা অন্য কোন Case কে যাচাই করবেনা এবং অতিরিক্ত কোন কোডও এক্সিকিউট করবে না।
যখনই মিল খুজে পাবে তখনি তার কাজ সম্পন্ন হয়ে যাবে এবং এক্সিকিউশন বন্ধ করে দিবে। পরবর্তী কোন case কে যাচাই করবে না।
Break ব্যবহারে এক্সিকিউশনের সময় অনেক কমে যায় কারন যেখানে মিল খুজে পাবে তারপরই এক্সিকিউশন বন্ধ করে দিবে।
Switch ব্লকের সর্বশেষ case-এর break নেওয়ার প্রয়োজন নেই কারণ ব্লক এখানে এমনিতেই বন্ধ হয়ে যাবে।
default কিওয়ার্ডের মাধ্যমে আমরা কোড রান করাতে পারি যদি কোন case এর সাথে মিল না পাওয়া যায়ঃ
getDay() ব্যবহার করে আমরা সাপ্তাহিক দিনকে নম্বরে(0-6 পর্যন্ত) পেতে পারি।
যদি আজকের দিনটি শনিবার(6) অথবা রবিবার(0) না হয় তবে একটি ডিফল্ট মেসেজ দেখাবেঃ
kt_satt_skill_example_id=743
মাঝে মাঝে আপনি একটি switch ব্লকে বিভিন্ন case-এ একই কোড ব্যবহার করতে চাইবেন অথবা একটি সাধারণ ডিফল্টে থেমে যেতে চাইবেন।
নিচের উদাহরণে দেখুন ভিন্ন ভিন্ন case একই code এর ব্লক ব্যবহার করতে পারে এবং ডিফল্ট case টি Switch ব্লকের সর্বশেষ case হওয়ারও প্রয়োজন নেইঃ
kt_satt_skill_example_id=744
যদি ডিফল্ট case টি Switch ব্লকের সর্বশেষ case না হয় তবে break দিয়ে শেষ হবে।
লুপের মাধ্যমে একগুচ্ছ কোডকে একাধিকবার এক্সিকিউট করানো যায়।
যদি আপনি একই কোড বহুবার রান করিয়ে প্রত্যেকবার ভিন্ন ভিন্ন ভ্যালু পেতে চান তাহলে লুপ সবচেয়ে সুবিধাজনক পদ্ধতি।
আপনি অ্যারে ব্যবহার করলে অধিকাংশ সময় লুপ ব্যবহার করবেনঃ
kt_satt_skill_example_id=748
kt_satt_skill_example_id=750
জাভাস্ক্রিপ্টে বিভিন্ন ধরনের লুপ সাপোর্ট করেঃ
লুপ ব্যবহার করতে চাইলে আপনি প্রথমেই একটি for লুপ ব্যবহার করার চিন্তা করবেন।
for লুপের গঠনপ্রণালীঃ
kt_satt_skill_example_id=751
statement 1 লুপ(কোড এক্সিকিউট হওয়ার) শুরু হওয়ার পূর্বে এক্সিকিউট হয়।
statement 2 লুপের(কোড এক্সিকিউট হওয়ার) শর্ত নির্ধারন করে।
statement 3 প্রতিবার লুপ(কোড এক্সিকিউট হওয়ার) এক্সিকিউট হওয়ার পর ইহা এক্সিকিউট হয়।
kt_satt_skill_example_id=753
উপরোক্ত উদাহরণ থেকেঃ
লুপ শুরু হওয়ার পূর্বে statement 1 একটি ভ্যারিয়েবল(var i = 0) সেট করে।
লুপের জন্য statement 2 শর্ত(i অবশ্যই 4 থেকে ছোট হতে হবে) নির্ধারন করে।
প্রতিবার লুপ এক্সিকিউট হওয়ার পর statement 3(i ++) এক করে মান বৃদ্ধি করে।
সাধারণত আপনি লুপের মধ্যে ব্যবহৃত ভ্যারিয়েবলকে(i = 0) ডিক্লেয়ার করার জন্য statement 1 ব্যবহার করবেন।
জাভাস্ক্রিপ্টে এটা গুরুত্বপূর্ন না। এখানে statement 1 ঐচ্ছিক।
আপনি statement 1 এর মধ্যে (কমা দিয়ে আলাদা করে ) অনেকগুলো ভ্যালু ব্যবহার করতে পারেনঃ
kt_satt_skill_example_id=755
এবং আপনি statement 1 কে না দিলেও পারেন(যদি তা আগেই ডিক্লেয়ার করা থাকে)।
kt_satt_skill_example_id=757
statement 2 সাধারণত ইনিশিয়াল ভ্যারিয়েবলের শর্ত যাচাই করার জন্য ব্যবহার করা হয়।
জাভাস্ক্রিপ্টে statement 2 ঐচ্ছিক।
statement 2 যদি true হয় তবে লুপ আবার শুরু হবে কিন্তু যদি এটি false হয় তবে লুপ এখানেই শেষ হয়ে যাবে।
যদি আপনি statement 2 না দেন তবে আপনাকে অবশ্যই লুপের ভিতর break দিতে হবে। অন্যথায় লুপ কখনোই শেষ হবে না এবং আপনার ব্রাউজার বন্ধ হয়ে যাবে। পরবর্তী পরিচ্ছেদে আপনি Break সম্পর্কে আরো শিখতে পারবেন।
সাধারণত statement 3 ইনিশিয়াল ভ্যারিয়েবলের মান বৃদ্ধি করে।
জাভাস্ক্রিপ্টে statement 3 ও ঐচ্ছিক।
statement 3 যেকোন কিছু করতে পারে যেমন ইনক্রিমেন্ট(i = i + 15), ডিক্রিমেন্ট(i--) অথবা অন্যকিছু।
statement 3 বাদ দেওয়া যেতে পারে(যদি আপনি লুপের ভিতর ভ্যালুকে ইনক্রিমেন্ট করেন)
kt_satt_skill_example_id=758
জাভাস্ক্রিপ্টে for/in স্টেটমেন্ট একটি অবজেক্টের প্রোপার্টির মধ্যে লুপ করার জন্য ব্যবহার করা হয়ঃ
kt_satt_skill_example_id=760
লুপ হচ্ছে একগুচ্ছ কোড যা নির্ধারিত শর্ত যতক্ষণ true থাকবে ততক্ষণ এক্সিকিউট হবে।
while লুপ ততক্ষণ পর্যন্ত লুপ করতে থাকবে যতক্ষণ পর্যন্ত তার নির্ধারিত শর্ত true থাকে।
kt_satt_skill_example_id=768
এখানে যতক্ষণ পর্যন্ত ভ্যারিয়েবল i এর মান 7 থেকে ছোট হবে ততক্ষণ কোডটি রান হবেঃ
kt_satt_skill_example_id=771
যদি আপনি ভ্যারিয়েবল i এর মান বৃদ্ধি না করেন তাহলে আপনার ব্রাউজার বন্ধ হয়ে যাবে কারণ লুপটি কখনোই থামবে না।
do/while লুপ হচ্ছে while লুপের ভিন্ন রূপ। এটি শর্ত যাচাই করার পূর্বে কোড একবার রান করে এবং শর্তটি যতক্ষন পর্যন্ত true থাকে ততক্ষণ পর্যন্ত রান করে।
kt_satt_skill_example_id=771
নিচের উদাহরণে do/while লুপ ব্যবহার করা হয়েছে। এখানে শর্ত যাচাইয়ের পূর্বে কোডকে অন্তত একবার রান করানো হয়ঃ
kt_satt_skill_example_id=773
ভ্যারিয়েবলের ভ্যালু বৃদ্ধি করতে ভুলে যাবেন না,নয়তো লুপ কখনোই বন্ধ হবে না।
পূর্ববর্তী পরিচ্ছেদে আপনি for লুপ সম্পর্কে পড়েছেন এবং বুঝতে পারতেছে for এবং while লুপ একই রকম যদি আমরা for লুপের statement 1 এবং statement 2 না দেই।
এই উদাহরণে animals অ্যারে থেকে প্রানীর নাম নেওয়ার জন্য আমরা for লুপ ব্যবহার করেছিঃ
kt_satt_skill_example_id=774
এই উদাহরণে animals অ্যারে থেকে প্রানীর নাম নেওয়ার জন্য আমরা while লুপ ব্যবহার করেছিঃ
kt_satt_skill_example_id=775
এই টিউটোরিয়ালের পূর্ববর্তী পরিচ্ছেদে break স্টেটমেন্টের ব্যবহার দেখানো হয়েছিল। switch স্টেটমেন্ট থেকে বের হয়ে যাওয়ার জন্য ইহা ব্যবহার করা হয়েছিল।
একটি লুপ থেকে বের হয়ে যাওয়ার জন্যও break স্টেটমেন্ট ব্যবহার করা হয়।
break স্টেটমেন্ট লুপকে বন্ধ করে দেয় এবং পরবর্তী কোন কোড থাকলে তা এক্সিকিউট করেঃ
kt_satt_skill_example_id=781
যদি একটি নির্দিষ্ট শর্ত ঘটে তাহলে continue স্টেটমেন্ট লুপের ঐ ধাপকে বাদ দিয়ে পরবর্তী ধাপে চলে যায়।
এই উদাহরণটিতে 4 এর মান এড়িয়ে যায়ঃ
kt_satt_skill_example_id=783
জাভাস্ক্রিপ্ট স্টেটমেন্টকে নাম দেওয়ার জন্য স্টেটমেন্টের পূর্বে লেবেলের নাম এবং কোলন ব্যবহার করতে হবেঃ
kt_satt_skill_example_id=785
জাভাস্ক্রিপ্টে break ও continue স্টেটমেন্ট শুধুমাত্র জাভাস্ক্রিপ্ট কোডের ব্লক থেকে বের হয়ে আসতে পারে।
গঠনপ্রণালীঃ
kt_satt_skill_example_id=787
continue স্টেটমেন্টের(লেবেলসহ অথবা ছাড়া) মাধ্যমে লুপের একটি ধাপকে এড়িয়ে যাওয়ার জন্য ব্যবহার করা হয়।
একটি লুপ বা switch স্টেটমেন্ট থেকে বের হয়ে আসার জন্য লেবেল রেফারেন্স ছাড়া একটি break স্টেটমেন্ট ব্যবহার করা হয়।
যে কোন কোডের ব্লক থেকে বের হয়ে যাওয়ার জন্য একটি লেবেল রেফারেন্স দিয়ে break স্টেটমেন্ট ব্যবহার করা হয়ঃ
kt_satt_skill_example_id=790
আরও দেখুন...