عنوان مقاله :

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

گردآوری و تالیف : حسام موسوی
تاریخ انتشار : 08 شهریور 1395
دسته بندی ها : جاوا اسکریپت

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

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

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

مقالات پیشنهادی

مقدمه‌ای بر استفاده از Vue.js در لاراول

در این مقاله میخوایم یک پروژه تستی بسازیم و در اون بتونیم یکسری اطلاعات رو به دیتابیس بفرستیم یا از دیتابیس حذف کنیم. این کار معمولی هست اما ما میخوای...

۱۰ تا از بهترین کتابخانه های جاوا اسکریپت برای ساختن چارت داده

زیبای تکنولوژی مدرن وب را می توانید در افکت ها و جلوه های پویای مربوط به CSS3 ببینید. CSS3 دنیای طراحی را با خصوصیات انیمیشنی به سطح جدیدی برد. اما ب...

15 کتابخانه جالب javascript و css بهمن ۹۵

ماموریت ما در راکت این است که شما را بر اساس تکنولوژی روز طراحی وب به روز نگه داریم . به همین خاطر هم هست که ما تقریبا ماهانه یا چند هفته در میان پستی...

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

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

دیدگاه های ارزشمند شما

وحید منتظر | 1 سال پیش

مطلب آموزنده و خیلی خوبی بود.
من همین یه قسمت از کدی که در Laravel نوشته بودم رو با این روش Refactor کردم.