دستور switch در زبان TypeScript
دستور switch اجازه می دهد تا یک متغیر در برابر یک لیست از مقادیر ارزیابی شود. در زیر می توانید سینتکس مربوط به این دستور ار مشاهده کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | switch(variable_expression) { case constant_expr1: { //statements; break; } case constant_expr2: { //statements; break; } default: { //statements; break; } } |
در دستور switch مقدار variable_expression با همه case های موجود در switch ارزیابی می شود و اگر با یکی از case ها مطابقت داشته باشد، بلوک مربوط به آن case اجرا می شود. اگر با هیچ کدام از case ها مطابقت نداشته باشد، بلوک مربوط به default اجرا می شود.
قوانین مربوط به دستور switch:
- شما می توانید هر تعداد بخش case که نیاز داشتید به دستور switch اضافه کنید.
- مقدار که در بخش case قرار میگیرد نمی توانند متغیر باشد (باید به صورت ثابت باشد).
- مقدار بررسی شده در case باید از همان نوعی باشد که در دستور switch تعریف شده است. یعنی اگر در switch یک متغیر از نوع عدد را بررسی می کنید، باید مقادیر بررسی شده در case ها هم از نوع عددی باشند.
- اگر بعد از هر بخش case یک دستور break نگذارید، بلوک بعدی اجرا خواهد شود.
- مقداری که در case قرار میگیرد باید منحصر به فرد باشد.
- یک دستور switch می تواند، یک بخش default داشته باشد. بخش default زمانی که هیچ یک از case ها درست نباشد، اجرا می شود.
- بلوک default اختیاری است.
دیاگرام دستور switch
مثال :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | var grade:string = "A"; switch(grade) { case "A": { console.log("Excellent"); break; } case "B": { console.log("Good"); break; } case "C": { console.log("Fair"); break; } case "D": { console.log("Poor"); break; } default: { console.log("Invalid choice"); break; } } |
کد فوق بعد از کامپایل:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | //Generated by typescript 1.8.10 var grade = "A"; switch (grade) { case "A": { console.log("Excellent"); break; } case "B": { console.log("Good"); break; } case "C": { console.log("Fair"); break; } case "D": { console.log("Poor"); break; } default: { console.log("Invalid choice"); break; } } |
خروجی برنامه بالا:
1 | Excellent |
هیچ نظری ثبت نشده است