আগের পর্বে আমরা Operator শিখেছি — যেগুলো দিয়ে true/false ফলাফল পাওয়া যায়। আজকে শিখবো সেই true/false দিয়ে কীভাবে সিদ্ধান্ত নেওয়া যায় — মানে শর্ত অনুযায়ী ভিন্ন ভিন্ন কোড চালানো। এটাই প্রোগ্রামিং-এর আসল "বুদ্ধিমত্তা" শুরু হওয়ার জায়গা।
if — মূল শর্ত
if এর ভেতরের শর্ত true হলেই শুধু কার্লি ব্র্যাকেটের ভেতরের কোড চলবে:
let age = 20;
if (age >= 18) {
console.log("তুমি ভোট দেওয়ার যোগ্য");
}
এখানে age >= 18 শর্তটা true, তাই ভেতরের console.log চলবে। যদি বয়স ১৮-এর কম হতো, তাহলে এই লাইনটা একদম skip হয়ে যেত।
if...else — দুইটা রাস্তা
শর্ত মিথ্যা হলে বিকল্প কিছু করতে চাইলে else ব্যবহার হয়:
let age = 15;
if (age >= 18) {
console.log("তুমি ভোট দেওয়ার যোগ্য");
} else {
console.log("তুমি এখনো যোগ্য না");
}
এখানে দুইটার একটা অবশ্যই চলবে — হয় if-এর ভেতরের কোড, নাহয় else-এর ভেতরের কোড।
else if — একাধিক শর্ত
দুইয়ের বেশি সম্ভাবনা থাকলে else if দিয়ে একের পর এক শর্ত চেক করা যায়:
let marks = 75;
if (marks >= 80) {
console.log("গ্রেড: A+");
} else if (marks >= 60) {
console.log("গ্রেড: A");
} else if (marks >= 40) {
console.log("গ্রেড: C");
} else {
console.log("গ্রেড: F");
}
এখানে JavaScript উপর থেকে নিচে একটা একটা করে শর্ত চেক করে। যেই শর্তটা প্রথম true হয়, শুধু তার ভেতরের কোড চলে, বাকিগুলো ইগনোর হয়ে যায় — এখানে marks 75, তাই "গ্রেড: A" প্রিন্ট হবে।
টিপস: else if-এর ক্রম গুরুত্বপূর্ণ। যদি প্রথমে marks >= 40 চেক করতে, তাহলে ৭৫ মার্কসেও ভুলভাবে "C" দেখাতো, কারণ ৭৫ তো ৪০-এর বেশিও। তাই সবসময় বড় থেকে ছোট (বা নির্দিষ্ট থেকে সাধারণ) ক্রমে শর্ত সাজানো উচিত।
Nested Condition — শর্তের ভেতরে শর্ত
একটা if-এর ভেতরে আরেকটা if রাখা যায়:
let age = 20;
let hasTicket = true;
if (age >= 18) {
if (hasTicket) {
console.log("ভেতরে যেতে পারবে");
} else {
console.log("টিকিট লাগবে");
}
} else {
console.log("বয়স যথেষ্ট না");
}
টিপস: Nested condition বেশি গভীর হয়ে গেলে কোড পড়া কঠিন হয়ে যায়। এই একই লজিক && দিয়েও লেখা যেত — if (age >= 18 && hasTicket)। যেখানেই সম্ভব, nested condition-এর বদলে &&/|| ব্যবহার করে কোড সহজ রাখা ভালো।
Ternary Operator — এক লাইনের if/else
সহজ if/else-কে খুব ছোট করে এক লাইনে লেখার একটা শর্টহ্যান্ড আছে:
let age = 20;
// সাধারণ if/else
let message;
if (age >= 18) {
message = "প্রাপ্তবয়স্ক";
} else {
message = "নাবালক";
}
// ternary দিয়ে একই কাজ, এক লাইনে
let message2 = age >= 18 ? "প্রাপ্তবয়স্ক" : "নাবালক";
console.log(message2);
গঠনটা এরকম: শর্ত ? true হলে যা হবে : false হলে যা হবে। শুধু সহজ, ছোট if/else-এর জন্য এটা ব্যবহার করা ভালো — জটিল লজিকে সাধারণ if/else-ই বেশি readable।
switch — অনেকগুলো নির্দিষ্ট মান চেক করা
যখন একটা variable-এর বিভিন্ন নির্দিষ্ট মান অনুযায়ী ভিন্ন কাজ করতে হয় (অনেকগুলো else if লেখার বদলে), তখন switch বেশি পরিষ্কার হয়:
let day = "শনিবার";
switch (day) {
case "শুক্রবার":
console.log("সাপ্তাহিক ছুটি");
break;
case "শনিবার":
console.log("অফিস শুরু");
break;
default:
console.log("সাধারণ কর্মদিবস");
}
| অংশ | কাজ |
|---|---|
case |
একটা নির্দিষ্ট মান, যেটার সাথে মিললে সেই ব্লক চলবে |
break |
এই case শেষ, নিচেরগুলো আর চেক করবে না |
default |
কোনো case-ই না মিললে এটা চলবে (else-এর মতো) |
টিপস: প্রতিটা case-এর শেষে break লিখতে ভুলে গেলে JavaScript পরের case-টাও চালিয়ে দেবে, যেটা প্রায়ই অপ্রত্যাশিত bug তৈরি করে — একে বলে "fall-through"। এটা switch ব্যবহারের সবচেয়ে কমন ভুল।
একটা সম্পূর্ণ উদাহরণ
<!DOCTYPE html>
<html lang="bn">
<head>
<meta charset="UTF-8">
<title>Condition উদাহরণ</title>
</head>
<body>
<script>
let temperature = 32;
if (temperature > 35) {
console.log("খুব গরম");
} else if (temperature > 25) {
console.log("মোটামুটি গরম");
} else {
console.log("ঠান্ডা আবহাওয়া");
}
let isRaining = false;
let advice = isRaining ? "ছাতা নিয়ে বের হও" : "ছাতা লাগবে না";
console.log(advice);
let fruit = "আম";
switch (fruit) {
case "আম":
console.log("গ্রীষ্মের ফল");
break;
case "কমলা":
console.log("শীতের ফল");
break;
default:
console.log("অচেনা ফল");
}
</script>
</body>
</html>
নিজে চেষ্টা করো
Exercise:
- একটা marks variable বানাও, if/else if/else দিয়ে গ্রেড (A+, A, C, F) বের করো
- একটা boolean variable দিয়ে ternary operator ব্যবহার করো একটা মেসেজ ঠিক করতে
switchদিয়ে সপ্তাহের একটা দিন অনুযায়ী আলাদা মেসেজ দেখাও- ইচ্ছাকৃতভাবে কোনো একটা
case-এরbreakবাদ দিয়ে দেখো fall-through কীভাবে ঘটে
পরের পর্বে যা থাকছে
পর্ব ৫-এ আমরা শিখবো Loop — for ও while লুপ দিয়ে কীভাবে একই কাজ বারবার করা যায়, এবং break/continue, উদাহরণসহ।