آموزش جاوااسکریپت › انجمن ها › جاوا اسکریپت › کاربرد کلمه کلیدی super در جاوا اسکریپت › پاسخ به: کاربرد کلمه کلیدی super در جاوا اسکریپت
سپتامبر 13, 2021 در 9:24 ب.ظ
#58630
محمد عسکری
مدیر
سلام برای درک بهتر این موضوع به مثال زیر توجه کنید :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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 استفاده کنیم که در ادامه این مثال داریم :
1 2 3 4 5 6 7 8 9 10 11 |
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 فراخوانی شود.