Object.assign()
دمج كائنات Object.assign()
Object.assign() تنسخ خصائص كائن أو أكثر إلى كائن هدف وتُرجعه — تُستخدم غالبًا لدمج إعدادات أو نسخ كائن.
الكائنات اللاحقة تكتب فوق خصائص الكائنات السابقة عند تطابق الأسماء. بكود حديث، غالبًا يُفضَّل عامل الانتشار {...obj1, ...obj2} لنفس الغرض لأنه أوضح.
الصياغة
const merged = Object.assign(target, source1, source2);
⚡ جرّب بنفسك
عدّل الكود واضغط «تحديث» لترى النتيجة فورًا — التجربة أفضل معلّم.
⚡ محرّر تفاعلي
const defaults = { theme: "dark", lang: "ar" };
const userPrefs = { lang: "en" };
const final = Object.assign({}, defaults, userPrefs);
console.log(final);وحدة التحكّم
اضغط «تشغيل» لرؤية النتيجة هنا.
أهم المعاملات
| المعامل | الوظيفة |
|---|---|
| target | الكائن الهدف الذي يُعدَّل ويُرجَع — استخدم {} فارغًا لتفادي تعديل كائن موجود |
| source | كائن أو أكثر تُنسخ خصائصه للهدف، بالترتيب |
💡 نصائح عملية
- استخدم {} كأول معامل دائمًا إن أردت كائنًا جديدًا بدل تعديل أحد الكائنات الموجودة
- عامل الانتشار {...a, ...b} بديل حديث أوضح لنفس الغرض بمعظم الحالات
⚠️ أخطاء شائعة
- نسيان {} كهدف أول فتُعدَّل الكائن الأول مباشرة بدل إنشاء كائن جديد
- الدمج سطحي فقط (shallow) — الكائنات المتداخلة تُنسخ بالمرجع لا بنسخة كاملة
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار JAVASCRIPT الكامل بالعربي.