عندما تذهب لصندوق بريدك وتجد طرد صغير فهذا تمرير بالقيمة
بينما لو وجدت ورقة صغيرة عبارة عن إشعار بوصول طرد ثم أخذت الورقة وذهبت للموظف فستعطيه إياه ويحضر لك الطرد فهذا تمرير بالمرجع
بالنسبة للكود فأنت عندما تمرر متغير بالقيمة فأنت تصل إلى قيمته وتتعامل مع نسخة من الكائن الأصل وبالتالي فإن أي تعديل على خصائصه لن يؤثر على الكائن الأصل
أما التمرير بالمرجع فأنت تمرر مرجع الكائن الأصل وبالتالي أي تعامل مع خصائصه فأنت تعدل على الأصل
وهذا يفيد في حال تريد عمل دالة تجري عمليات على كائن ما ويعود مع إحداث التغييرات عليه.
بالنسبة للكود فأنت عندما تمرر متغير بالقيمة فأنت تصل إلى قيمته وتتعامل مع نسخة من الكائن الأصل وبالتالي فإن أي تعديل على خصائصه لن يؤثر على الكائن الأصل
أما التمرير بالمرجع فأنت تمرر مرجع الكائن الأصل وبالتالي أي تعامل مع خصائصه فأنت تعدل على الأصل
كلام غير دقيق. يمكن تغيير خصائص الكائن من خلال "التمرير بالقيمة". كما أن التعامل يكون مع الكائن الأصل ذاته وليس نسخة منه.
"التمرير بالمرجع" يعني أنه يمكن إسناد قيمة جديدة للمرجع الذي تم تمريره داخل الدالة.
التعليقات