Rayaniko

توسط: | نظر ها: 0 | زمان انتشار: ۱۳۹۵/۶/۲۴

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

 

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

به نظر شما چطور میتوانیم تو در تو نویسی شروط 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]();
}

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

منبع : راکت

رایانیکو راهی نو اندیشه ای نیکو

پسندیدم

1

برای ارسال نظر لطفا وارد شوید