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

Duvida sobre solução alternativa

Olhando a documentação no site da mozila, no link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString, me parece que o método 'toLocaleDateString' resolveria o problema de converter a data para o formato DD/MM/AAAA, com o codigo:

let data = new Date(this._data.value).toLocaleString('pt-BR').split('-');

Porem, apresenta o seguinte erro quando tento implementar:

Uncaught TypeError: data.getTime is not a function
    at new Negociacao (Negociacao.js:4)
    at NegociacaoController.adiciona (NegociacaoController.js:22)
    at HTMLFormElement.onsubmit (index.html:16)

Seguindo o passo-a-passo da aula, tudo funciona sem problemas. Mas, gostaria de entender pq a solução que encontrei não funcionou.

1 resposta
solução!

Boa tarde!

A questão de você ter uma data já formatada, funciona perfeitamente com a sua implementação. Porém, sua variável let data não é do tipo Date, ela é do tipo String.

Como sua variável ficou como String, ela não vai ter a função getTime().

E por isso gera o erro.