Sobes.tech
Senior

¿Puedes explicar la función super() y cuándo la utilizas?

sobes.tech AI

Respuesta de la IA

La función super() se utiliza en clases para llamar al constructor de la clase padre o a los métodos del padre.

Se aplica en dos casos principales:

  1. En el constructor de una clase hija para llamar al constructor de la clase base y una correcta inicialización de las propiedades heredadas.

  2. Para llamar a los métodos del padre, si se necesita ampliar o sobrescribir el comportamiento, pero manteniendo parte de la lógica de la clase base.

Ejemplo:

class Animal {
  constructor(name) {
    this.name = name;
  }
  speak() {
    console.log(`${this.name} hace un sonido.`);
  }
}

class Dog extends Animal {
  constructor(name, breed) {
    super(name); // llamada al constructor de Animal
    this.breed = breed;
  }
  speak() {
    super.speak(); // llamada al método speak de Animal
    console.log(`${this.name} ladra.`);
  }
}

Sin llamar a super() en el constructor de la clase hija, habrá un error, ya que la clase base no está inicializada.