Я написал код:
class Base {
// Default value
myColor = 'blue';
constructor() {
console.log(this.myColor);
}
}
class Derived extends Base {
myColor = 'red';
}
// Prints "blue", expected "red"
const x = new Derived();
Я ожидал, что инициализатор начального класса будет запущен до конструктора базового класса. Вместо этого производный класс не изменяет свойство myColor
до тех пор, пока не будет myColor
конструктор базового класса, поэтому я вижу неправильные значения в конструкторе.
Это ошибка? Что не так? Почему это происходит? Что мне делать вместо этого?