জাভাস্ক্রিপ্ট Switch স্টেটমেন্ট

জাভাস্ক্রিপ্ট Switch স্টেটমেন্ট (JavaScript Switch Statement)

কখনো কখনো আমাদের একাধিক শর্ত পরীক্ষা করতে হয় যেখানে একটি নির্দিষ্ট ভ্যালু বিভিন্ন ক্ষেত্রে ভিন্ন কাজ করবে। এই ক্ষেত্রে switch statement খুবই কার্যকর। এটি if...else if এর বিকল্প হিসেবে ব্যবহার করা যায় এবং কোডকে করে তোলে সহজপাঠ্য ও পরিচ্ছন্ন।

Switch স্টেটমেন্টের গঠন

<script>
switch(expression) {
  case value1:
    // কোড ব্লক
    break;
  case value2:
    // কোড ব্লক
    break;
  default:
    // ডিফল্ট কোড
}
</script>

expression: যেটা চেক করা হবে।
case: expression-এর সম্ভাব্য মান।
break: একটি কেস শেষ করার জন্য ব্যবহার হয়।
default: যদি কোনো কেস না মেলে, তবে এটি চলবে।

একটি উদাহরণ

চলুন ধরুন, আমরা সপ্তাহের দিন চেক করব এবং কোন দিন সেটা জানাবো:

<script>
let day = "Tuesday";

switch(day) {
  case "Monday":
    console.log("আজ সোমবার");
    break;
  case "Tuesday":
    console.log("আজ মঙ্গলবার");
    break;
  case "Wednesday":
    console.log("আজ বুধবার");
    break;
  default:
    console.log("আজ অন্য কোনো দিন");
}
</script>

কেন break ব্যবহার করব?

যদি break ব্যবহার না করা হয়, তাহলে যেই case মিলবে তার পরের সব case গুলোর কোডও একসাথে চলবে। এটাকে বলে fall-through। অনেক সময় এটি ইচ্ছাকৃত হলেও, না জানলে এটি বাগ তৈরি করতে পারে।

আরেকটি উদাহরণ: গ্রেডিং সিস্টেম

চলুন গ্রেড অনুযায়ী মন্তব্য দেখি:

<script>
let grade = "A";

switch(grade) {
  case "A+":
    console.log("অসাধারণ!");
    break;
  case "A":
    console.log("খুব ভালো!");
    break;
  case "B":
    console.log("ভালো হয়েছে!");
    break;
  case "F":
    console.log("দুঃখিত, আপনি ফেল করেছেন।");
    break;
  default:
    console.log("অবৈধ গ্রেড!");
}
</script>

টেবিল: switch বনাম if…else

দিক switch if…else
উপযুক্ততা একই ভেরিয়েবলকে একাধিক মানের সাথে তুলনা বিভিন্ন শর্ত যাচাই
পঠনযোগ্যতা সহজ জটিল হতে পারে
ফলাফল সুনির্দিষ্ট মান যেকোনো শর্ত

উপসংহার

switch statement ব্যবহারে আপনার কোড আরো পরিষ্কার ও পড়তে সহজ হয়, বিশেষ করে যখন একটি ভেরিয়েবলের একাধিক সম্ভাব্য মান থাকে। তবে শর্ত যদি বেশি জটিল হয় বা বিভিন্ন ভেরিয়েবল জড়িত থাকে, তখন if...else ব্যবহারে সুবিধা বেশি।

 

Leave a Reply