Насколько я знаю, свойство __proto__
конструктора считается устаревшим.Есть ли лучший способ получить доступ к свойству родительского класса из созданного экземпляра его подкласса?
Пример:
В следующем примере запрошенное свойствоcls
.
class Vehicle {
constructor () {
var div = document.createElement("div");
var cls = this.constructor.__proto__.cls + " " + this.constructor.cls;
div.setAttribute("class", cls);
document.body.appendChild(div);
}
}
class Car extends Vehicle {}
class Motorcycle extends Vehicle {}
Vehicle.cls = "vehicle";
Car.cls = "car";
Motorcycle.cls = "motorcycle";
let vehicle = new Vehicle();
let car = new Car();
let bike = new Motorcycle();
.vehicle {
width: 50px;
height: 50px;
display: inline-block;
background-color: red;
}
.car {
background-color: green;
}
.motorcycle {
background-color: blue;
}