آموزش دستور switch در جاوا اسکریپت
در این آموزش به کمک مثال های مختلف با دستور switch در جاوا اسکریپت (JavaScript) آشنا خواهید شد. دستور switch در جاوا اسکریپت برای تصمیم گیری استفاده می شود.
دستور switch یک عبارت را بررسی می کند و براساس اینکه نتیجه عبارت با کدام مقدار مطابقت دارد، بلوک کد متناظر با آن را اجرا می کند.
ساختار دستور switch
switch(متغیر یا عبارت) {
case value1:
// بلوک کد ۱
break;
case value2:
// بلوک کد ۲
break;
case valueN:
// N بلوک کد
break;
default:
// بلوک کد پیشفرض
}
دستور switch متغیر یا عبارت درون پرانتز را بررسی می کند:
- اگر نتیجه عبارت برابر با value1 باشد، بلوک کد مرتبط با آن (بلوک کد ۱) اجرا می شود.
- اگر نتیجه عبارت برابر با مقدار value2 باشد، بلوک کد مرتبط با آن (بلوک کد ۲) اجرا می شود.
- این روند برای همه موارد ادامه پیدا می کند. اگر هیچکدام از موارد مطابقت نداشته باشند، بلوک کد مرتبط با قسمت default (پیشفرض) اجرا می شود.
نکته
- دستور break اختیاری است. با اجرای دستور break دستور switch به پایان می رسد.
- اگر از دستور break استفاده نشود، موارد بعدی نیز اجرا می شوند.
- قسمت پیشفرض نیز اختیاری است. می توانید آن را در شروع یا وسط بلوک دستور switch نیز به کار ببرید.
فلوچارت دستور switch
مثال ۱: برنامه ساده با دستور switch
let a = 2;
switch (a) {
case 1:
a = ‘one’;
break;
case 2:
a = ‘two’;
break;
default:
a = ‘not found’;
break;
}
console.log(`The value is ${a}`);
خروجی
The value is two.
این برنامه متغیر a را با دستور switch بررسی می کند:
- نتیجه عبارت با مقدار ۱ مقایسه می شود که false برمی گرداند.
- سپس دستور switch به مورد دوم می رود. نتیجه عبارت با مقدار ۲ مطابقت دارد بنابراین کد آن اجرا و متن ” The value is two” نشان داده می شود.
- دستور break بلوک فعلی و کل دستور switch را تمام می کند و جریان کنترل برنامه را به خارج از دستور switch منتقل می کند.
مثال ۲: بررسی نوع داده با دستور switch
// switch برنامه با دستور
let a = 1;
switch (a) {
case “1”:
a = 1;
break;
case 1:
a = ‘one’;
break;
case 2:
a = ‘two’;
break;
default:
a = ‘not found’;
break;
}
console.log(`The value is ${a}`);
خروجی
جاوا، جاوا اسکریپت رو قورت بده! بدون کلاس، سرعت 2 برابر، ماندگاری 3 برابر، پولسازی عالی با توسعه وب، ماشین لرنینگ و ... کتابخانه های پیشرفته جاوا اسکریپت و ... دانلود:
The value is one.
این برنامه متغیر a را با دستور switch بررسی می کند:
- در جاوا اسکریپت، دستور switch مقدار را دقیقاً بررسی می کند. بنابراین نتیجه عبارت با مقدار “۱” مطابقت ندارد.
- دستور switch به مورد بعدی می رود. نتیجه عبارت با مقدار عددی ۱ مطابقت دارد بنابراین رشته The value is one نمایش داده می شود.
- دستور break بلوک فعلی و کل دستور switch را تمام می کند و جریان کنترل برنامه را به خارج از دستور switch منتقل می کند.
نکته: در جاوا اسکریپت، دستور switch نتیجه عبارت را با مقدار هر مورد دقیقاً بررسی می کند یعنی علاوه بر مقدار باید نوع داده هم یکسان باشد. در این مثال، مقدار ۱ با “۱” مطابقت ندارد.
می خواهیم با دستور switch یک برنامه ماشین حساب ساده بنویسیم.
مثال ۳: ماشین حساب ساده
// برنامه ماشین حساب ساده
let result;
// گرفتن نوع عملگر از کاربر
let operator = prompt(‘Enter operator ( either +, -, * or / ): ‘);
// گرفتن عملوندها از کاربر
let number1 = parseFloat(prompt(‘Enter first number: ‘));
let number2 = parseFloat(prompt(‘Enter second number: ‘));
switch(operator) {
case ‘+’:
result = number1 + number2;
console.log(`${number1} + ${number2} = ${result}`);
break;
case ‘-‘:
result = number1 – number2;
console.log(`${number1} – ${number2} = ${result}`);
break;
case ‘*’:
result = number1 * number2;
console.log(`${number1} * ${number2} = ${result}`);
break;
case ‘/’:
result = number1 / number2;
console.log(`${number1} / ${number2} = ${result}`);
break;
default:
console.log(‘Invalid operator’);
break;
}
خروجی
Enter operator: +
Enter first number: 4
Enter second number: 5
۴ + ۵ = ۹
در این برنامه از کاربر خواسته می شود که نوع عملگر (+، -،* یا /) و دو عملوند را وارد کند. سپس بر اساس ورودی ها یکی از موارد دستور switch اجرا می شود.
دستور switch با چند مورد
اگر در دستور switch چند مورد دارای بلوک کد مشابه باشند می توانید آنها را گروه بندی کنید.
مثال ۴: switch با چند مورد
// برنامه برای گروه بندی چند مورد
let fruit = ‘apple’;
switch(fruit) {
case ‘apple’:
case ‘mango’:
case ‘pineapple’:
console.log(`${fruit} is a fruit.`);
break;
default:
console.log(`${fruit} is not a fruit.`);
break;
}
خروجی
apple is a fruit.
در این برنامه سه مورد با یکدیگر گروه بندی می شوند. کدهای موارد گروه بندی شده مشابه هستند. اگر مقدار متغیر fruit برابر با یکی از مقادیر mango، pineapple یا apple باشد، خروجی یکسان است.