میخوای وارد بازار کار بشی و محصولات خودت رو بفرشی همین الان ثبت نام کن
0

switch در جاوا اسکریپت

با سلام خدمت دوستان عزیز در این مقاله آموزشی قصد داریم درباره استفاده از switch دستور  مطالبی را عنوان کنیم از عبارت switch برای انجام دستورات مختلف بر اساس شرایط مختلف استفاده می شود. بعبارت دیگر می توان برای شرایط مختلف، حالت های مختلف را تعریف کرد تا کد های مربوط به آن اجرا شود.

دستور switch در جاوا اسکریپت

با استفاده از عبارت switch می توانید تعداد نامحدودی از بلوک های کد ایجاد کنید تا بر اساس شرایط مختلف اجرا شوند.

نحو یا سینتکس switch در جاوا اسکریپت

switch(expression) {
   case x:
     // code block
     break;
   case y:
     // code block
     break;
   default:
// code block
}

دستور switch اینگونه کار می کند:

  • عبارت سوئیچ یک بار ارزیابی می شود.
  • مقدار عبارت با مقادیر هر مورد مقایسه می شود.
  • اگر مقدار یک حالت با مقدار عبارت یکسان باشد ، بلوک کد مرتبط با آن اجرا می شود.
  • در صورتی که مقدار هیچ حالتی با مقدار عبارت switch برابر نبود، کد های مربوط به حالت پیش فرض اجرا می شود.

مثال

تابع getDay() روزهای هفته را به صورت عدد بین ۰ تا ۶ برمی گرداند.

(یکشنبه = ۰ ، دوشنبه = ۱ ، سه شنبه = ۲ ..)

در این مثال از شماره روز هفته برای محاسبه نام روز هفته استفاده می شود:

نتیجه روز خواهد بود:

چهارشنبه

کلید واژه break

وقتی جاوا اسکریپت به کلمه کلیدی break رسید ، از بلوک کد مربوط به حالت انتخاب شده ، خارج می شود.

این کار، اجرای کد های داخل بلوک را متوقف می کند.

لازم نیست در آخرین مورد یا حالت سوئیچ از کلمه کلیدی break استفاده کنید. آخرین بلوک به هر حال خاتمه می یابد.

توجه: اگر از عبارت break استفاده نکنید، case یا حالت بعدی حتی اگر مقدارش با مقدار ارزیابی شده در switch مطابقت نداشته باشد، اجرا می شود.

کلمه کلیدی default

با استفاده از کلمه کلیدی default می توانید تعیین کنید که در صورت عدم تطابق حالت ها، کد های مربوط به حالت default اجرا شود:

مثال

تابع getDay()روزهای هفته را به صورت عدد بین ۰ تا ۶ برمی گرداند.

اگر امروز نه شنبه (۶) است و نه یکشنبه (۰) ، یک پیام پیش فرض بنویسید:

منتظر آخر هفته هستم

حتما لازم نیست که حالت default ، آخرین حالت در دستور switch باشد، می توانید آن را ابتدا یا در میان حالت های دیگر بیاورید:

switch (new Date().getDay()) {
default:
text = “Looking forward to the Weekend”;
break;
case ۶:
text = “Today is Saturday”;
break;
case ۰:
text = “Today is Sunday”;
}

اگر default آخرین حالت در بلوک سوئیچ نیست ، به یاد داشته باشید که بلوک حالت default را با break پایان دهید.

حالت هایی که کد مشترک دارند

بعضی مواقع ممکن است برای چند case مختلف، یک کد یکسان تعریف کنید. در این مواقع فقط کافیست مانند مثال زیر، یک بلوک کد برای چند کیس مختلف تعریف کنید.

در این مثال ، حالت های ۴ و ۵ دارای بلوک کد مشترک هستند، و حالت های ۰ و ۶ نیز بلوک کد دیگری را به اشتراک می گذارند:

switch (new Date().getDay()) {
case ۴:
case ۵:
text = “Soon it is Weekend”;
break;
case ۰:
case ۶:
text = “It is Weekend”;
break;
default:
text = “Looking forward to the Weekend”;
}

جابجایی جزئیات

اگر مقدار switch با مقدار چندین case مطابقت داشته باشد ، اولین case انتخاب می شود و کد های بلوک مربوط به آن اجرا می گردد.

اگر هیچ مورد مطابقت پیدا نشد ، برنامه، کد های حالت پیش فرض یا default را اجرا می کند .

اگر حالت پیش فرض وجود نداشته باشد، برنامه از سوئیچ خارج شده و کد های بعد از آن را اجرا می کند.

مقایسه دقیق

دستور سوئیچ از مقایسه دقیق (===) استفاده می کند. یعنی :

  • مقادیر باید با هم برابر باشند.
  • نوع آن های نیز باید یکسان باشد.

در این مثال هیچ حالت مطابقی برای x وجود نخواهد داشت زیرا متغیر x از نوع string یا رشته است ولی حالت اول از نوع int یا عدد صحیح است و در حالت دوم نه مقدار برابر است و نه نوع :

var x = “۰”;
switch (x) {
case ۰:
text = “Off”;
break;
case ۱:
text = “On”;
break;
default:
text = “No value found”;
}

 

امیدواریم آموزش switch در جاوا اسکریپت نیز برای شما مفید واقع شده باشد .برای مطالعه پست‌های بیشتر ، ما را در مدرسه کدنویسی تلگرام  و یا در تی جوان اینستاگرام دنبال کنید.

نظراتتون رو زیر همین پست با ما به اشتراک بگذارید.

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

×

سلام کاربر عزیز

هر سوالی دارید در این بخش هستیم تا شما رو راهنمائی کنیم

روی لوگومون کلیک کنید

× چطور میتونم کمکتون کنم؟