estaba aprendiendo sobre la herencia en un curso, sin embargo, encontré la palabra clave super en MDN, comencé a implementarla y funciona, devolverá las dos propiedades que también están en la clase principal, pero la propiedad adicional que trato de implementar en la clase secundaria siempre devuelve indefinido, ¿cómo puedo implementar esto para agregar propiedades de la manera correcta? Como llegué a entender, podría estar equivocado, es súper aplica la palabra clave this a la clase principal. aqui esta mi codigo...
class Car { constructor(speed, make){ this.speed = speed, this.make = make } get speed() { return this._speed / 1.6; } set speed(mov){ this._speed = mov * 1.6 } accel(){ console.log(this.speed += 5); } } const chevy = new Car(120, 'chevy'); //challenge 3 class Ev extends Car{ constructor(speed,make,bat){ super(speed,make) this.bat } billy(){ console.log('hi'); } chargeBat(charge){ this.bat = charge; return `ur battery is charging to ${charge}`; } cel(){ this.speed += 20; this.bat - 1; return `your car is going ${this.speed} and battery is ${this.bat}` } } // Ev.protype = Object.create(Car.prototype); const prius = new Ev(35,'prius',99); // console.log(prius.chargeBat()); // console.log(prius.cel()) console.log(prius.bat); console.log(prius.speed)Tiras el valor del bat en el constructor Ev. Guárdelo en this.bat para corregir eso. Vea el código a continuación.
class Car { constructor(speed, make){ this.speed = speed, this.make = make } get speed() { return this._speed / 1.6; } set speed(mov){ this._speed = mov * 1.6 } accel(){ console.log(this.speed += 5); } } const chevy = new Car(120, 'chevy'); //challenge 3 class Ev extends Car{ constructor(speed,make,bat){ super(speed,make) this.bat = bat; // <------------- HERE } billy(){ console.log('hi'); } chargeBat(charge){ this.bat = charge; return `ur battery is charging to ${charge}`; } cel(){ this.speed += 20; this.bat - 1; return `your car is going ${this.speed} and battery is ${this.bat}` } } // Ev.protype = Object.create(Car.prototype); const prius = new Ev(35,'prius',99); // console.log(prius.chargeBat()); // console.log(prius.cel()) console.log(prius.bat); console.log(prius.speed)