js Default Function Parameters

در جاوااسکریپت، پارامترهای پیش‌فرض (Default Function Parameters) زمانی استفاده می‌شوند که بخواهیم برای ورودی‌های تابع، مقدار اولیه تعیین کنیم.
اگر در هنگام فراخوانی تابع، مقداری ارسال نشود، مقدار پیش‌فرض جایگزین آن می‌شود.

🔹 مثال ساده

function greet(name = "کاربر") {
  console.log(`سلام ${name}!`);
}

greet();
greet("علی");

📌 خروجی:

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

در این مثال، چون در اولین فراخوانی مقداری به name داده نشده، مقدار پیش‌فرض "کاربر" استفاده می‌شود.

🔹 چند پارامتر پیش‌فرض

می‌توان برای چند پارامتر مقدار پیش‌فرض تعیین کرد:

function info(name = "ناشناس", age = 18) {
  console.log(`نام: ${name}`);
  console.log(`سن: ${age}`);
}

info();
info("مریم", 25);

📌 خروجی:

نام: ناشناس
سن: 18

نام: مریم
سن: 25

🔹 استفاده از عبارت‌ها در مقدار پیش‌فرض

مقدار پیش‌فرض می‌تواند نتیجه‌ی یک عبارت یا تابع باشد:

function randomNumber(n = Math.floor(Math.random() * 10)) {
  console.log(n);
}

randomNumber();
randomNumber(7);

📌 خروجی نمونه:

4
7

(در اجرای اول، عددی تصادفی بین 0 تا 9 چاپ می‌شود.)

🔹 وابستگی پارامترها

پارامترهای بعدی می‌توانند از مقدار پارامترهای قبلی استفاده کنند:

function total(price, tax = price * 0.1) {
  return price + tax;
}

console.log(total(100));
console.log(total(100, 50));

📌 خروجی:

110
150

نکته:

  • پارامترهای پیش‌فرض زمانی فعال می‌شوند که مقدار آرگومان undefined باشد.

  • اگر مقدار null بدهیم، مقدار پیش‌فرض نادیده گرفته می‌شود.

  • استفاده از مقادیر پیش‌فرض باعث تمیزتر و خواناتر شدن کدها می‌شود.