ارور در ساختن نمونه
اهمیت: 5
اینجا کدی داریم که Rabbit کلاس Animal را تعمیم میدهد.
متاسفانه، شیءهای Rabbit نمیتوانند ساخته شوند. چه چیزی اشتباه است؟ آن را درست کنید.
class Animal {
constructor(name) {
this.name = name;
}
}
class Rabbit extends Animal {
constructor(name) {
this.name = name;
this.created = Date.now();
}
}
let rabbit = new Rabbit("خرگوش سفید"); // تعریف نشده است this :ارور
alert(rabbit.name);
دلیلش این است که تابع سازنده فرزند باید super() را فراخوانی کند.
اینجا کد درست را داریم:
class Animal {
constructor(name) {
this.name = name;
}
}
class Rabbit extends Animal {
constructor(name) {
super(name);
this.created = Date.now();
}
}
let rabbit = new Rabbit("خرگوش سفید"); // الان مشکلی نیست
alert(rabbit.name); // خرگوش سفید