js Spread Operator
در جاوااسکریپت، عملگر Spread (...
) یکی از پرکاربردترین ابزارها برای کپی، ترکیب و گسترش دادهها است.
🔹 گسترش آرایهها (Array Expansion)
عملگر Spread به شما اجازه میدهد عناصر یک آرایه را باز کرده و از آن در آرایه یا تابع دیگر استفاده کنید.
const numbers = [1, 2, 3];
const newNumbers = [...numbers, 4, 5];
console.log(newNumbers);
📌 خروجی:
[1, 2, 3, 4, 5]
🔹 کپی کردن آرایه
با استفاده از Spread میتوانیم بهسادگی یک کپی سطحی از آرایه بسازیم:
const arr1 = [10, 20, 30];
const arr2 = [...arr1];
console.log(arr2);
📌 خروجی:
[10, 20, 30]
🔹 ترکیب چند آرایه
Spread برای ترکیب چند آرایه بسیار کاربردی است:
const a = [1, 2];
const b = [3, 4];
const c = [...a, ...b];
console.log(c);
📌 خروجی:
[1, 2, 3, 4]
🔹 گسترش در اشیاء (Objects)
از Spread میتوان برای ادغام یا کپی کردن اشیاء هم استفاده کرد:
const user = { name: "Ali", age: 25 };
const info = { city: "Tehran" };
const newUser = { ...user, ...info };
console.log(newUser);
📌 خروجی:
{ name: "Ali", age: 25, city: "Tehran" }
🔹 ارسال آرایه به تابع
میتوان با Spread، عناصر آرایه را بهعنوان آرگومانهای جداگانه به تابع ارسال کرد:
const nums = [5, 10, 15];
console.log(Math.max(...nums));
📌 خروجی:
15
✅ نکته:
- Spread فقط کپی سطحی (shallow copy) انجام میدهد، نه کپی عمیق.
- برای ترکیب، کپی یا ارسال مقادیر در جاوااسکریپت، یکی از تمیزترین و پرکاربردترین روشها محسوب میشود.