Код: Выделить всё
class Animal {
constructor(lg) {
this.legs = lg;
}
}
class Dog extends Animal {
constructor() {
super(4);
}
}
const result = new Dog();
console.log(result.legs);Что меня смущает, так это почему экземпляр Dog имеет свойство leg, хотя:
- не имеет параметров
Код: Выделить всё
DogКонструктор - не определен явно в классе Dog
Код: Выделить всё
legs
Мои вопросы:
- Что именно делает super(4) делает во время создания объекта?
- Как конструктор родительского класса присваивает свойства экземпляру подкласса?
- Это поведение неявно для всех подклассов в JavaScript?
Подробнее здесь: https://stackoverflow.com/questions/798 ... javascript
Мобильная версия