ما هي الـ Methods؟

كما أضفنا خصائص (Attributes) إلى النموذج، يمكننا أيضًا إضافة دوال (Methods).

إذا كانت الخصائص تمثل البيانات التي يمتلكها الكائن، فإن الدوال تمثل السلوك (Behavior) الذي يستطيع الكائن القيام به.

على سبيل المثال، إذا كان لدينا نموذج لسيارة، فمن الطبيعي أن تكون لديها وظائف مثل:

  • تشغيل المحرك.
  • إيقاف المحرك.
  • إصدار صوت المنبه.
  • زيادة السرعة.

إضافة دالة إلى النموذج

لنضف دالة تجعل السيارة تصدر صوت المنبه.

class Car {
constructor(color, model) {
this.color = color;
this.model = model;
}
// Method
beepSound() {
console.log("beeeeeeeeep");
}
}
const car = new Car("Blue", 2020);
// Call the method
car.beepSound();

كيف نستدعي الدالة؟

بعد إنشاء الكائن، يمكننا استدعاء أي دالة موجودة داخله باستخدام النقطة (.).

car.beepSound();

هنا طلبنا من الكائن car تنفيذ الدالة beepSound.

ويمكنك إضافة أي عدد من الدوال داخل النموذج حسب احتياجاتك.

لماذا نكتب () بعد اسم الدالة؟

ستلاحظ أننا كتبنا:

beepSound() {}

وليس:

beepSound {}

وذلك لأن أي دالة (Function) أو Method في JavaScript تُكتب دائمًا باستخدام الأقواس ().

إذا كانت الدالة تستقبل قيمًا، فإن أسماء هذه القيم تُكتب داخل الأقواس.

على سبيل المثال:

drive(speed) {
console.log(speed);
}

وفي هذه الحالة نستدعيها بالشكل التالي:

car.drive(120);

هل الـ Constructor دالة أيضًا؟

الإجابة نعم.

الـ Constructor هو في الحقيقة Method خاصة داخل الـ Class.

الفرق الوحيد أنه لا نستدعيه بأنفسنا، بل تستدعيه JavaScript تلقائيًا عند إنشاء كائن جديد باستخدام الكلمة المفتاحية new.

ماذا يجب أن تتذكر؟

  • Methods هي الدوال الموجودة داخل الـ Class.
  • الخصائص (Attributes) تمثل البيانات، بينما Methods تمثل السلوك.
  • يتم استدعاء الدوال باستخدام النقطة (.) متبوعة باسم الدالة.
  • أي دالة تُكتب باستخدام الأقواس ().
  • الـ Constructor هو Method خاصة تُنفذ تلقائيًا عند إنشاء كائن جديد.