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) انجام می‌دهد، نه کپی عمیق.
  • برای ترکیب، کپی یا ارسال مقادیر در جاوااسکریپت، یکی از تمیزترین و پرکاربردترین روش‌ها محسوب می‌شود.