ما هو الكائن في JavaScript؟ شرح أزواج المفتاح والقيمة وDot Notation ببساطة
مقدمة لفهم الكائنات في JavaScript
تُعد الكائنات في JavaScript من أهم المفاهيم التي ينبغي لأي مطور إتقانها، لأنها تتيح تنظيم البيانات والوظائف داخل بنية واحدة واضحة وسهلة الاستخدام. وعندما تفهم الكائنات جيداً، ستصبح قادراً على كتابة برامج أكثر ترتيباً ومرونة وقابلية للتوسع.
بشكل مبسط، الكائن Object هو حاوية تجمع بيانات مترابطة مع وظائف يمكن الوصول إليها بطرق محددة، وأشهرها Dot Notation. لفهم هذه الفكرة عملياً، نحتاج أولاً إلى توضيح معنى أزواج المفتاح والقيمة.
![]()
ما المقصود بأزواج المفتاح والقيمة في JavaScript؟
زوج المفتاح والقيمة Key-Value Pair هو أبسط طريقة لتنظيم البيانات داخل الكائن. يتكوّن من عنصرين مترابطين:
Key: وهو اسم الخاصية.Value: وهي القيمة المرتبطة بهذه الخاصية.
على سبيل المثال، عندما تكتب خاصية مثل brand: 'Apple' فأنت هنا تعرّف مفتاحاً اسمه brand وقيمةً مرتبطة به هي Apple.
يمكن أن يحتوي الكائن الواحد على عدة أزواج من هذا النوع، ما يجعله مناسباً لتجميع معلومات متعلقة بكيان واحد داخل بنية منظمة.
![]()
ما هو الكائن Object في JavaScript؟
الكائن هو بنية بيانات تسمح لك بتجميع خصائص Properties ودوال Functions داخل عنصر واحد. وهذا يفيدك كثيراً عندما تريد تمثيل شيء واقعي أو منطقي داخل البرنامج، مثل مستخدم أو منتج أو هاتف.
في المثال التالي، لدينا كائن باسم phone يحتوي على مصفوفتين ودالة:
const phone = {
brand: ['Samsung', 'Apple', 'Google'],
quantity: [1, 2, 3],
howManyGooglePhones: function() {
alert("There are " + this.quantity[1] + ' ' + this.brand[2] + " phones available.");
}
}
phone.howManyGooglePhones();

تفكيك المثال خطوة بخطوة
- تم إنشاء كائن باسم
phone. - جميع محتوياته محصورة بين الأقواس المعقوفة
{ }. - كل خاصية داخل الكائن تُكتب بالشكل
key: value. - الفاصلة
,تُستخدم للفصل بين أزواج المفتاح والقيمة. - الكائن هنا يحتوي على خاصيتين من نوع مصفوفة
Arrayودالة واحدة.
الخاصية brand تحتوي على أسماء العلامات التجارية، بينما الخاصية quantity تحتوي على الكميات المقابلة لها. أما الدالة howManyGooglePhones فمهمتها عرض رسالة توضح عدد هواتف Google المتاحة.
ما هي Dot Notation في JavaScript؟
Dot Notation هي الطريقة الشائعة للوصول إلى خصائص الكائن أو استدعاء دواله. وتعتمد على كتابة اسم الكائن، ثم نقطة .، ثم اسم الخاصية أو الدالة.
على سبيل المثال، إذا أردت الوصول إلى أول عنصر داخل الخاصية brand فستكتب:
phone.brand[0]
والنتيجة ستكون Samsung.
هنا نحن:
- استخدمنا اسم الكائن
phone. - أضفنا النقطة
.. - كتبنا اسم الخاصية
brand. - استخدمنا الفهرس
[0]للوصول إلى أول عنصر في المصفوفة.
كيف تعمل الدالة داخل الكائن؟
الدالة الموجودة داخل الكائن تستخدم الكلمة this للوصول إلى خصائص الكائن نفسه من الداخل. وهذا مهم جداً، لأننا عندما نكون داخل الكائن نحتاج إلى مرجع يشير إلى هذا الكائن الحالي.
في السطر التالي:
this.quantity[1]
يتم الوصول إلى الخاصية quantity ثم اختيار العنصر الموجود في الفهرس [1]، وقيمته هنا هي 2.
وفي السطر التالي:
this.brand[2]
يتم الوصول إلى الخاصية brand ثم جلب العنصر الموجود في الفهرس [2]، وهو Google.
بذلك تصبح الرسالة الناتجة من الدالة مشابهة لما يلي:
There are 2 Google phones available.
أما الدالة alert() فهي مسؤولة عن إظهار هذه الرسالة في نافذة منبثقة داخل المتصفح.
الفرق بين استخدام this داخل الكائن واسم الكائن خارجه
من النقاط المهمة التي يجب الانتباه لها أن this تُستخدم داخل الكائن للإشارة إلى خصائصه ودواله. لكن عندما تريد استدعاء دالة من خارج الكائن، فإنك تستخدم اسم الكائن نفسه.
لذلك، بدلاً من كتابة this.howManyGooglePhones() خارج الكائن، نكتب:
phone.howManyGooglePhones();
وهذا هو المقصود باستخدام Dot Notation لاستدعاء دالة موجودة داخل كائن.

كيف تصل إلى Apple مع الكمية 3؟
لفهم الفكرة بعمق، من المفيد تجربة الوصول إلى قيم أخرى داخل الكائن. إذا أردت عرض اسم Apple مع كمية 3، فعليك ملاحظة أن:
Appleموجودة فيbrand[1].- الكمية
3موجودة فيquantity[2].
وبالتالي يمكن تكوين رسالة مشابهة باستخدام القيم المناسبة. هذا النوع من التمارين يساعدك على فهم العلاقة بين المصفوفات والخصائص داخل الكائن.
لماذا تعتبر الكائنات مهمة في البرمجة؟
تكمن قوة الكائنات في أنها تجعل الشيفرة أكثر تنظيماً وأسهل في التطوير والصيانة. فبدلاً من توزيع المتغيرات والدوال في أماكن مختلفة، يمكنك جمع كل ما يتعلق بكيان معين داخل كائن واحد.
ومن أبرز فوائد الكائنات:
- تنظيم البيانات المرتبطة ببعضها في مكان واحد.
- تسهيل الوصول إلى الخصائص والدوال.
- تحسين قابلية قراءة الشيفرة.
- تمهيد الطريق لفهم مفاهيم أكثر تقدماً مثل
ClassesوOOP.
أفضل ممارسات عند التعامل مع كائنات JavaScript
- اختر أسماء واضحة للكائنات والخصائص مثل
phoneوbrand. - تأكد من الفصل بين الخصائص بالفاصلة
,. - استخدم
thisفقط عندما تكون داخل الكائن وتحتاج إلى الإشارة إلى خصائصه. - استعمل
Dot Notationعندما تكون أسماء الخصائص ثابتة وواضحة. - اختبر القيم التي تصل إليها عبر الفهارس
[ ]حتى لا تجلب عنصراً غير موجود.
الخلاصة التقنية
الكائن في JavaScript هو وسيلة أساسية لتنظيم البيانات والسلوك داخل بنية واحدة. وعند فهم أزواج المفتاح والقيمة، ثم إتقان الوصول إلى الخصائص عبر Dot Notation واستخدام this داخل الدوال، يصبح التعامل مع الشيفرة أكثر وضوحاً واحترافية. من الناحية التقنية، يعد هذا المفهوم حجر أساس لفهم تطبيقات JavaScript الحديثة، لذلك فإن إتقانه مبكراً يوفّر عليك كثيراً من التعقيد لاحقاً.