Menu
CoddyTech

عامل الانتشار الجزء 1

جزء من قسم المنطق وتدفق التنفيذ في رحلة JavaScript على Coddy. الدرس 18 من 65.

لمعامل الانتشار (...) العديد من الاستخدامات مع JSON. على سبيل المثال، عند إجراء العملية التالية:

const obj1 = {key1: "123"}
const obj2 = obj1
obj1.key1 = "456"
console.log(obj2.key1)

ما الناتج؟

console.log(obj2.key1)
// الناتج: "456"

قد يكون هذا مفاجئًا! رغم أننا غيّرنا obj1 فقط، فقد تغيّر obj2 أيضًا.

يحدث هذا لأننا عندما نُسنِد الكائنات مباشرةً (obj2 = obj1)، فإننا ننشئ مرجعًا، لا نسخة. يشير كلا المتغيرين إلى الكائن نفسه في الذاكرة.

هنا تصبح أداة الانتشار مفيدة. لنرَ كيف ننشئ نسخة حقيقية:

const obj1 = {key1: "123"};
const obj2 = {...obj1};
obj1.key1 = "456";
console.log(obj2.key1);
// المخرجات: "123"

ينشئ عامل الانتشار كائنًا جديدًا وينسخ إليه جميع الخصائص القابلة للتعداد من الكائن المصدر.

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم JavaScript عبر الإنترنت