الكلمة الرئيسية جافا سكريبت الفائقة

عندما نعمل مع فئات في JavaScript ، فمن الشائع استخدامsuperكلمة رئيسية.

في هذا المنشور أريد أن أوضح ما هو مفيد.

افترض أن لديك فصل دراسيCar:

class Car {

}

وفي هذا الفصل لديناconstructor()طريقة:

class Car {
  constructor() {
    console.log('This is a car')
  }
}

يعد التابع constructor خاصًا لأنه يتم تنفيذه عند إنشاء مثيل للفئة:

const myCar = new Car() //'This is a car'

يمكنك الحصول على ملفTeslaالصف الذي يمتدCarصف دراسي:

class Tesla extends Car {

}

الTeslaفئة ورثت جميع أساليب وخصائصCar، بما في ذلكconstructorطريقة.

يمكننا إنشاء مثيل لـTeslaالطبقة ، وخلق ملفmyCarموضوع:

const myCar = new Tesla()

والمُنشئ الأصلي بتنسيقCarلا يزال يتم إعدامه ، لأنهTeslaليس لديه واحد خاص به.

يمكننا تجاوزconstructor()الطريقة فيTeslaصف دراسي:

class Tesla extends Car {
  constructor() {
    console.log('This is a Tesla')
  }
}

و

const myCar = new Tesla()

سوف تطبعThis is a Tesla.

في الconstructor()الطريقة التي يمكننا الاتصال بها أيضًاsuper()لاستدعاء نفس الطريقة في الفصل الرئيسي:

class Tesla extends Car {
  constructor() {
    super()
    console.log('This is a Tesla')
  }
}

الاتصال

const myCar = new Tesla()

سيتم الآن تنفيذ 2 من سجلات وحدة التحكم. الأول المحدد في مُنشئ فئة السيارة ، والثاني المحدد في مُنشئ فئة Tesla:

'This is a car'
'This is a Tesla'

Note that super() can only be called in the constructor, not in other methods.

And we can pass in any parameter, if the constructor accepts parameters.


More js tutorials: