Sobes.tech
Senior

Fala sobre a função super() e quando a usas?

sobes.tech IA

Resposta da IA

A função super() é usada em classes para chamar o construtor da classe pai ou os métodos do pai.

É aplicada em dois casos principais:

  1. No construtor de uma classe filha para chamar o construtor da classe base e uma inicialização correta das propriedades herdadas.

  2. Para chamar métodos do pai, se for necessário expandir ou sobrescrever o comportamento, mantendo parte da lógica da classe base.

Exemplo:

class Animal {
  constructor(name) {
    this.name = name;
  }
  speak() {
    console.log(`${this.name} faz um som.`);
  }
}

class Dog extends Animal {
  constructor(name, breed) {
    super(name); // chamada ao construtor de Animal
    this.breed = breed;
  }
  speak() {
    super.speak(); // chamada ao método speak de Animal
    console.log(`${this.name} late.`);
  }
}

Sem a chamada a super() no construtor da classe filha, ocorrerá um erro, pois a classe base não está inicializada.