سلام دوستان. توی قسمت‌های قبل گفتیم که توابع مسئول انجام دادن کارهای مشخصی هستن. زمان‌هایی وجود داره که ما خروجیِ کاری که انجام دادیم رو احتیاج داریم. ما با استفاده از کلمه‌کلیدی return می‌تونیم خروجی یک تابع رو مشخص کنیم:

function welcome() {
>>   return "Welcome dear user!";
}

الان خروجی تابع welcome، چیزی هست که جلوی return قرار گرفته. ما می‌تونیم از چیزی که یک تابع return می‌کنه توی شرایط مختلف استفاده کنیم. مثلاً می‌تونیم به شکل زیر اون رو بریزیم توی یک متغیر:

function welcome() {
  return "Welcome dear user!";
}

>> const message = welcome();

alert(message);

توی خط ۵ تابع welcome رو اجرا کردیم. هر خروجی که این تابع داشته باشه ریخته میشه توی متغیر message. کد رو اجرا کنین تا مقدار متغیر message رو ببینین.

یک مثال سنتی تابع جمع دو عدد هست:

function add(x, y) {
  <<return x + y>>;
}

alert(add(5, 10)); // 15
alert(add(2, 4));  // 6

مثالی که توی قسمت اول توابع داشتیم رو به یاد بیاریم:

const price = 1500;
const discountPrice = price - (price * 30 / 100);

گفتیم که این کد، تخفیف یک محصول رو محاسبه می‌کنه. برای بهتر کردن این کد، یک تابع بسازیم و کد بالا رو ببریم توی تابع که بتونیم از اون استفاده کنیم:

function calculateDiscount(price, discount) {
  return price - (price * discount / 100);
}

const price1 = calculateDiscount(1500, 30);
const price2 = calculateDiscount(5000, 20);
const price3 = calculateDiscount(6000, 10);

alert(price1); // 1050
alert(price2); // 4000
alert(price3); // 5400

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

 

نکته‌ها

هنگام استفاده از return باید به چند نکته دقت کنیم:

۱. کدهایی که توی خط‌های بعد از return می‌نویسیم اجرا نمی‌شن و کلاً نادیده گرفته میشن: