js Rest Parameters
در جاوااسکریپت، پارامترهای (...)Rest برای دریافت تعداد نامشخصی از آرگومانها در تابع استفاده میشوند.
این ویژگی کمک میکند آرگومانهای اضافی را بهصورت یک آرایه در اختیار داشته باشیم.
🔹 استفادهی ساده از Rest
با قرار دادن ...
قبل از نام پارامتر، همهی آرگومانهای باقیمانده در یک آرایه جمع میشوند:
function sum(...numbers) {
console.log(numbers);
}
sum(1, 2, 3, 4);
📌 خروجی:
[1, 2, 3, 4]
🔹 کاربرد عملی: جمع تمام اعداد ورودی
function sum(...nums) {
let total = 0;
for (let n of nums) {
total += n;
}
return total;
}
console.log(sum(10, 20, 30));
📌 خروجی:
60
🔹 ترکیب پارامترهای معمولی با Rest
میتوان پارامترهای مشخص را در ابتدا نوشت و بقیه را با Rest گرفت:
function info(name, ...skills) {
console.log("Name:", name);
console.log("Skills:", skills);
}
info("Ali", "HTML", "CSS", "JavaScript");
📌 خروجی:
Name: Ali
Skills: ["HTML", "CSS", "JavaScript"]
🔹 تفاوت Rest و Spread
هر دو از ...
استفاده میکنند، اما تفاوتشان در کاربرد است:
-
Rest برای جمعآوری آرگومانها بهصورت آرایه در تعریف تابع استفاده میشود.
-
Spread برای گسترش آرایه یا شیء در زمان استفاده کاربرد دارد.
✅ نکته:
-
فقط یک پارامتر Rest در تابع مجاز است.
-
باید آخرین پارامتر در لیست پارامترها باشد.
-
ترکیب آن با آرایهها و توابع، کدنویسی را سادهتر و تمیزتر میکند.