دسته: JavaScript Basics (ES6+)
spread syntax (سه نقطه ...) یه iterable (مثل آرایه، رشته، Set) رو به عناصر جداگانه باز میکنه. یعنی ... عناصر رو پخش میکنه.
const array = [5, 8, 6, 1, 3, 4, 7, 9, 2];
console.log(...array);نکته: Rest و Spread هر دو از ... استفاده میکنن، ولی کارشون فرق داره:
Spread: عناصر رو پخش میکنه (توی فراخوانی تابع یا ساخت آرایه/آبجکت).
Rest: باقی عناصر رو جمع میکنه و بهصورت آرایه برمیگردونه (توی پارامتر تابع یا destructuring).
کاربرد های دیگر:
const copy = [...array]; // کپی آرایه
// ادغام آرایهها
const merged = [...arr1, ...arr2];
// اضافه کردن به آرایه
const newArr = [...array, 10];
// کپی آبجکت
const newObj = { ...obj };
// ادغام آبجکتها
const merged = { ...obj1, ...obj2 };
// پاس دادن آرایه به تابعی که آرگومان جدا میخواد
Math.max(...array); // 9[..."hello"]; // ["h", "e", "l", "l", "o"]
[...new Set([1, 1, 2])]; // [1, 2]نکته: Spread کپی سطحی میده
const nested = [{ a: 1 }];
const copy = [...nested];
copy[0].a = 2;
console.log(nested[0].a); // 2 (چون سطحی کپی شده!)