Ao tentar exibir uma data na negociação apresenta esse alerta
class Negociacao {
constructor(data, quantidade, valor){
this._data = new Date(data.getTime());
this._quantidade = quantidade;
this._valor = valor;
Object.freeze(this);
}
getVolume(){
return this._quantidade * this._valor;
}
getData(){
return new Date(this._data.getTime());
}
getValor(){
return this._valor;
}
getQuantidade(){
return this._quantidade;
}
}
class NegociacaoController {
constructor(){
let $ = document.querySelector.bind(document);
this._inputValor = $('#valor');
this._inputData = $('#data');
this._inputQuantidade = $('#quantidade');
}
adiciona(event) {
event.preventDefault();
let data = new Date(
...this._inputData.value
.split('-')
.map((item, indice) => item - indice % 2)
);
let negociacao = new Negociacao(
data,
this._inputQuantidade.value,
this._inputValor.value
);
let diaMesAno = negociacao.data.getDate()
+ '/' + negociacao.data.getMonth();
+ '/' + negociacao.data.getFullYear();
console.log(diaMesAno);
}
}
Uncaught TypeError: Cannot read property 'getDate' of undefined at NegociacaoController.adiciona (NegociacaoController.js:28) at HTMLFormElement.onsubmit (index.html:14)