Spread Operator (...) در اشیاء - آزمون جاوااسکریپت
آزمون Spread Operator در اشیاء جاوااسکریپت
این کوییز یک فرصت عالیه تا ببینی چقدر با این قابلیت آشنا هستی و میتونی اون رو در شرایط مختلف به کار ببری. من در ادامه، نکات و کاربردهای این عملگر رو بهت توضیح میدم تا با آمادگی کامل وارد آزمون بشی.
Spread Operator چیست و چرا استفاده از آن مهم است؟
خب، بذار اول یه توضیح ساده بدم. عملگر Spread Operator که با سه نقطه ... نشون داده میشه، به ما اجازه میده محتویات یک آرایه یا یک شیء رو در یک مکان جدید، "باز" کنیم.
در مورد اشیاء، این یعنی میتونیم جفتهای کلید-مقدار یک شیء رو داخل یک شیء جدید کپی کنیم. این کار به ما کمک میکنه کدهای کوتاهتر، تمیزتر و خواناتری بنویسیم، خصوصا وقتی میخوایم بدون دستکاری شیء اصلی، تغییراتی رو ایجاد کنیم. این روش برای تغییرناپذیری (Immutability) در برنامهنویسی خیلی مهمه.

کاربردهای اصلی Spread Operator در اشیاء
این عملگر فوقالعاده کاربردهای زیادی داره. بیا چند تا از مهمترینهاش رو با هم بررسی کنیم:
- ادغام اشیاء (Merging Objects): میتونی دو یا چند شیء رو به راحتی با هم ادغام کنی. اگه کلیدی تکراری باشه، مقدار کلید شیء آخری جایگزین میشه.
const user = { name: 'Ali', age: 30 }; const location = { city: 'Tehran', country: 'Iran' }; const combined = { ...user, ...location }; // { name: 'Ali', age: 30, city: 'Tehran', country: 'Iran' } - ساخت کپی سطحی از یک شیء (Shallow Copy): یکی از متداولترین استفادهها، ساخت یک کپی جدید از یک شیء موجود بدون تغییر دادن شیء اصلیه.
const originalUser = { name: 'Reza', role: 'admin' }; const newUser = { ...originalUser }; // newUser یک شیء جدید و مستقل از originalUser است. - اضافه کردن یا بهروزرسانی ویژگیها: به راحتی میتونی یک یا چند ویژگی جدید به یک شیء اضافه کنی یا مقادیر موجود رو بهروزرسانی کنی.
const product = { id: 1, name: 'Laptop', price: 1200 }; const updatedProduct = { ...product, price: 1150, stock: 50 }; // { id: 1, name: 'Laptop', price: 1150, stock: 50 }
نکات مهمی که باید بدانی
استفاده از Spread Operator ساده به نظر میرسه، ولی چند تا نکته مهم داره که باید حواست بهشون باشه:
- کپی سطحی است، نه عمیق: این عملگر فقط یک کپی سطحی (Shallow Copy) ایجاد میکنه. اگه شیء اصلی شامل اشیاء یا آرایههای تودرتو باشه، فقط مرجع اونها کپی میشه و تغییر در شیء جدید، شیء اصلی رو هم تحت تأثیر قرار میده.
- ترتیب مهم است: وقتی چند شیء رو با هم ادغام میکنی، ترتیب قرارگیریشون مهمه. مقادیر کلیدهای تکراری از شیء بعدی جایگزین مقدار شیء قبلی میشن.
با انجام این آزمون، میتونی میزان مهارت و تسلط خودت رو در مورد Spread Operator در اشیاء جاوااسکریپت بسنجی و همزمان اطلاعات خوبی رو به دست بیاری.
سوالات این آزمون در مورد این مفهوم مهم در جاوااسکریپت هستن و به جنبههای مختلف اون میپردازن. مثلاً، ممکنه سوالی در مورد ادغام چند شیء، یا کپی سطحی و تأثیر اون روی اشیاء تودرتو پرسیده بشه.
با پاسخ دادن به این سوالات، به درک عمیقتری از این عملگر میرسی و میتونی در پروژههای واقعی با اطمینان بیشتری از اون استفاده کنی.
جدول راهنما برای Spread Operator در اشیاء
| قابلیت | مثال | توضیحات |
|---|---|---|
| ادغام اشیاء | { ...obj1, ...obj2 } |
ادغام خصوصیات دو یا چند شیء. |
| کپی سطحی | const newObj = { ...oldObj } |
ساخت یک کپی جدید از شیء بدون تغییر شیء اصلی. |
| بازنویسی مقادیر | { ...obj, key: 'newVal' } |
تغییر یا اضافه کردن یک خصوصیت جدید. |
وقتشه شروع کنی!
حالا که با Spread Operator آشنا شدی و میدونی چه کاربردهایی داره، وقتشه که خودت رو به چالش بکشی. همین الان روی دکمه شروع کلیک کن و مهارتت رو در این آزمون در مورد Spread Operator بسنج.