بهبود بخشیدن به تو در تو نویسی شروط - نکات جاوا اسکریپت
ﺯﻣﺎﻥ ﻣﻄﺎﻟﻌﻪ: 2 دقیقه

بهبود بخشیدن به تو در تو نویسی شروط - نکات جاوا اسکریپت

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

به نظر شما چطور میتوانیم تو در تو نویسی شروط if در جاوا اسکریپت را بهبود ببخشیم ؟ به کد زیر دقت کنید . 

if (color) {
  if (color === 'black') {
    printBlackBackground();
  } else if (color === 'red') {
    printRedBackground();
  } else if (color === 'blue') {
    printBlueBackground();
  } else if (color === 'green') {
    printGreenBackground();
  } else {
    printYellowBackground();
  }
}

یکی از راه های بهبود تو در تو نویسی شروط if در جاوا اسکریپت استفاده از switch می باشد . هرچند که switch کد نویسی کوتاه تری دارد اما ما اون رو به شما پیشنهاد نمی کنیم چون اشکال زدایی در switch کمی دشوار است . 

switch(color) {
  case 'black':
    printBlackBackground();
    break;
  case 'red':
    printRedBackground();
    break;
  case 'blue':
    printBlueBackground();
    break;
  case 'green':
    printGreenBackground();
    break;
  default:
    printYellowBackground();
}

 اما اگر ما برای شروط خودمون چند شرط برای چک کردن داریم و اگر هم میخوایم کدهای کوتاه تری هم داشته باشیم خوب باید بجای if از switch استفاده کنیم . برای هر case هم باید مقداری true یا false بر گردونیم پس کد ما بصورت زیر میشه . 

switch(true) {
  case (typeof color === 'string' && color === 'black'):
    printBlackBackground();
    break;
  case (typeof color === 'string' && color === 'red'):
    printRedBackground();
    break;
  case (typeof color === 'string' && color === 'blue'):
    printBlueBackground();
    break;
  case (typeof color === 'string' && color === 'green'):
    printGreenBackground();
    break;
  case (typeof color === 'string' && color === 'yellow'):
    printYellowBackground();
    break;
}

 حالا اگر بخوایم داخل case ها را refactor کنیم ، ما می تونیم از تابع برای چک کردن و برگشت true یا false استفاده کنیم . در این مثال برای چک کردن رنگ میتونیم از تابع زیر استفاده کنیم . 

function printBackground(color) {
  if (!color || typeof color !== 'string') {
    return; // Invalid color, return immediately
  }
}

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

var colorObj = {
  'black': printBlackBackground,
  'red': printRedBackground,
  'blue': printBlueBackground,
  'green': printGreenBackground,
  'yellow': printYellowBackground
};

if (color in colorObj) {
  colorObj[color]();
}

امیدوارم با استفاده از این نکات فهمیده باشید که چطور میشه تو در تو نویسی در شروط جاوا اسکریپت رو بهبود ببخشید.

چه امتیازی برای این مقاله میدهید؟

خیلی بد
بد
متوسط
خوب
عالی
5 از 1 رای

/@hesammousavi
حسام موسوی
طراح و برنامه نویس

بیشتر از ۱۵ سال هست که در حال برنامه‌نویسی و انجام پروژه های مختلف هستم و ۱۰ سالی هست که آموزش برنامه‌نویسی به علاقمندان حوزه برنامه نویسی میدیم در همه این مدت الان عاشق کدزنی و چالش‌های پروژه‌های مختلفم. به تدریس علاقه خاصی دارم و دوست دارم دانشی که در این راه بدست آوردم را در اختیار دیگران هم قرار بدم. 

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید