Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Extends usando super(elemento)

Olá. No curso fizemos um arquivo View.js com os métodos constructor e update que estavam em comuns com outros dois arquivos. E nestes dois, definimos apenas que eles eram extends View, ou seja, recebem a herança de View.

Desta forma, o meu código já estava funcionando. Testei no browser, adicionei uma nova negociação e não deu nenhum erro, tudo funcionou perfeitamente.

E depois disso foi adicionado um constructor com um super(elemento) em cada um dos dois arquivos. E continuou funcionando da mesma forma que antes.

    constructor(elemento) {
        super(elemento);
    }

A minha dúvida é: porque adicionamos este super(elemento)? Pois em ambas situações funciona da mesma forma. O que ocorre se eu não colocar ele?

1 resposta
solução!

Graziela, boa tarde!

Existe uma chamada implícita para super() sem argumentos para todas as classes que possuem um pai - que é toda classe definida pelo desenvolvedor - então chamá-lo explicitamente geralmente não é necessário. No entanto, você pode usar a chamada para super() com argumentos se o construtor do pai receber parâmetros e desejar especificá-los. Além disso, se o construtor do pai receber parâmetros e não tiver um construtor sem parâmetros, você precisará chamar super() com argumento (s).

Espero ter ajudado e bons estudos!