تخطَّ إلى المحتوى

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 الكامل بالعربي.