عامل الانتشار الجزء 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"ينشئ عامل الانتشار كائنًا جديدًا وينسخ إليه جميع الخصائص القابلة للتعداد من الكائن المصدر.
جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق وتدفق التنفيذ
1السلاسل النصية بالتفصيل
أساسيات السلاسل النصيةالتكرار على السلاسل النصيةالقوالب النصيةدوال السلاسل النصيةمراجعة - ناسج السلاسل النصية2المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفة ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة: المصفوفات ثنائية الأبعادجمع المصفوفات وطرحهاالمصفوفات متعرجة الأبعادالمصفوفات ثلاثية الأبعاد وما بعدهاأنماط شائعة للمصفوفات ثنائية الأبعادمراجعة: كل ما يتعلق بالمصفوفات5المجموعات - الجزء الأول
ما هي المجموعة؟التكرار على عناصر المجموعةإضافة عنصرإزالة عنصرالتحقق من وجود عنصرالحجم والتحقق من الفراغالنسخ والمسحمراجعة - أساسيات المجموعات8موضوعات شيقة حول المصفوفات
تفكيك المصفوفاتصياغة الانتشار في المصفوفاتالمصفوفات المتناثرةمراجعة - ورشة عمل حول المصفوفات3JSON الجزء 1
ما هو JSON؟التحقق من وجود المفتاحطرق الكائنعامل الانتشار الجزء 1عامل الانتشار الجزء 2حذف المفاتيحمراجعة - معالجة المفاتيح في JSONتدرّب بنفسك: مترجم JavaScript عبر الإنترنت