سلام برای درک بهتر این موضوع به مثال زیر توجه کنید :
|
class Car { constructor() { console.log('This is a car') } } const myCar = new Car() //This is a car class Tesla extends Car { constructor() { console.log('This is a Tesla') } } const myCar = new Tesla() //This is a Tesla |
در این مثال میبینیم که کلاس Tesla از کلاس Car ارث بری میکند اما در هنگام ساخت یک شی از کلاس تسلا میبینیم که فقط سازنده کلاس تسلا
فراخوانی می شود.اگر بخواهیم سازنده کلاس Car را نیز فراخوانی کنیم باید از کلمه کلیدی ()super استفاده کنیم که در ادامه این مثال داریم :
|
class Tesla extends Car { constructor() { super() console.log('This is a Tesla') } } const myCar = new Tesla() /*'This is a car' 'This is a Tesla'*/ |
در اینجا هر دو console.log اجرا می شود به این نکته توجه کنیم که کلمه کلیدی super فقط باید درون constructor فراخوانی شود.