জাভাস্ক্রিপ্ট Switch স্টেটমেন্ট
ভিন্ন ভিন্ন শর্তের উপর ভিত্তি করে ভিন্ন ভিন্ন কার্য সম্পাদনের জন্য Switch স্টেটমেন্ট ব্যবহার করা হয়।
জাভাস্ক্রিপ্ট Switch স্টেটমেন্ট
অনেকগুলো কোডের ব্লক থেকে এক্সিকিউট করার জন্য একটিকে নির্বাচন করতে Switch স্টেটমেন্ট ব্যবহার করা হয়।
গঠনপ্রণালী
switch(expression) {
case n:
কোড
break;
case n:
কোড
break;
default:
ডিফল্ট কোড
}
কাজের প্রক্রিয়াঃ
- এখানে Switch এক্সপ্রেশন একবার মূল্যায়ন করা হয় ।
- এক্সপ্রেশনের ভ্যালুকে প্রত্যেকটি case এর ভ্যালুর সাথে তুলনা করা হয়।
- যদি কোন একটির সাথে মিলে যায় তাহলে ঐ case এর ব্লকটি এক্সিকিউট হবে।
getDay() ব্যবহার করে আমরা সাপ্তাহিক দিনকে নম্বরে(0-6 পর্যন্ত) পেতে পারি।(Sunday=0, Monday=1, Tuesday=2...)
আমরা এই নম্বরকে দিনের নাম পাওয়ার জন্য ব্যবহার করতে পারিঃ
উদাহরণ
<!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>
<p id="test"></p>
<script>
var day;
switch (new Date().getDay()) {
case 0:
day = "রবিবার";
break;
case 1:
day = " সোমবার";
break;
case 2:
day = "মঙ্গলবার";
break;
case 3:
day = " বুধবার";
break;
case 4:
day = " বৃহস্পতিবার";
break;
case 5:
day = "শুক্রবার";
break;
case 6:
day = "শনিবার";
}
document.getElementById("test").innerHTML = " আজ " + day;
</script>
</body>
</html>
ফলাফল
break কিওয়ার্ড
যখন জাভাস্ক্রিপ্ট break কি-ওয়ার্ডে পৌছাবে, তখন switch ব্লকটি কাজ করা বন্ধ করে দিবে।
ইহা অন্য কোন Case কে যাচাই করবেনা এবং অতিরিক্ত কোন কোডও এক্সিকিউট করবে না।
যখনই মিল খুজে পাবে তখনি তার কাজ সম্পন্ন হয়ে যাবে এবং এক্সিকিউশন বন্ধ করে দিবে। পরবর্তী কোন case কে যাচাই করবে না।
Break ব্যবহারে এক্সিকিউশনের সময় অনেক কমে যায় কারন যেখানে মিল খুজে পাবে তারপরই এক্সিকিউশন বন্ধ করে দিবে।
Switch ব্লকের সর্বশেষ case-এর break নেওয়ার প্রয়োজন নেই কারণ ব্লক এখানে এমনিতেই বন্ধ হয়ে যাবে।
ডিফল্ট কিওয়ার্ড
default কিওয়ার্ডের মাধ্যমে আমরা কোড রান করাতে পারি যদি কোন case এর সাথে মিল না পাওয়া যায়ঃ
getDay() ব্যবহার করে আমরা সাপ্তাহিক দিনকে নম্বরে(0-6 পর্যন্ত) পেতে পারি।
যদি আজকের দিনটি শনিবার(6) অথবা রবিবার(0) না হয় তবে একটি ডিফল্ট মেসেজ দেখাবেঃ
উদাহরণ
<!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>
<p id="test"></p>
<script>
var text;
switch (new Date().getDay()) {
case 6:
text = " আজ শনিবার";
break;
case 0:
text = " আজ রবিবার";
break;
default:
text = " ছুটির দিনের জন্য অপেক্ষা";
}
document.getElementById("test").innerHTML = text;
</script>
</body>
</html>
ফলাফল
মাঝে মাঝে আপনি একটি switch ব্লকে বিভিন্ন case-এ একই কোড ব্যবহার করতে চাইবেন অথবা একটি সাধারণ ডিফল্টে থেমে যেতে চাইবেন।
নিচের উদাহরণে দেখুন ভিন্ন ভিন্ন case একই code এর ব্লক ব্যবহার করতে পারে এবং ডিফল্ট case টি Switch ব্লকের সর্বশেষ case হওয়ারও প্রয়োজন নেইঃ
উদাহরণ
<!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>
<p id="test"></p>
<script>
var text;
switch (new Date().getDay()) {
case 1:
case 2:
case 3:
default:
text = " ছুটির দিনের জন্য অপেক্ষা ";
break;
case 4:
case 5:
text = " শীগ্রই ছুটি আসছে";
break;
case 0:
case 6:
text = "এটা ছুটির দিন";
}
document.getElementById("test").innerHTML = text;
</script>
</body>
</html>
ফলাফল
যদি ডিফল্ট case টি Switch ব্লকের সর্বশেষ case না হয় তবে break দিয়ে শেষ হবে।