In Javascript. Where the default values are passed in a daughter class (extends). In "super" or in the "constructor"

0

Where the default values of the past arguments from the superclass (Vehicle) to the daughter class (bicycle) should be placed:

class Bicicleta extends Vehiculo {
   constructor({numeroDeRuedas=2, tieneMotor=false}={}){
      super(numeroDeRuedas, tieneMotor);

or like this:

class Bicicleta extends Vehiculo {
    constructor(numeroDeRuedas, tieneMotor){
        super({numeroDeRuedas=2, tieneMotor=false}={});

or like this:

class Bicicleta extends Vehiculo {
    constructor({numeroDeRuedas=2, tieneMotor=false}={}){
        super({numeroDeRuedas=2, tieneMotor=false}={});
    
asked by àngelv 30.11.2017 в 13:21
source

1 answer

2

class vehiculo {
  constructor(b){
   this.method = b;  
  }
}

class ford extends vehiculo {
  constructor(c){ // recibe el parametro de new ford()
  super("Este parametro es para el padre");  // llamo al padre  
  this.g = c;  
  }
}

var child = new ford("this.g de la clase child"), father = new vehiculo();

console.log(child.g); // se lo pasamos en la variable child
console.log(child.method); // se lo pasamos al padre en super(), pero child lo hereda

console.log(father.method); /* esta es otra instancia, entonces el method
                               está sin definir.
*/
console.log(new vehiculo("Ahora esta definido").method) // ahora si lo definimos
    
answered by 30.11.2017 в 13:33