Com o código:
class NegociacaoController {
constructor(){
let $ = document.querySelector.bind(document);
this._inputData = $('#data');
this._inputQuantidade = $('#quantidade');
this._inputValor = $('#valor');
}
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
);
console.log(negociacao);
let dataFormatada = negociacao.data.getDate()
+ '/' + (negociacao.data.getMonth() + 1)
+ '/' + negociacao.data.getFullYear();
console.log(dataFormatada);
}
}
O console apresenta o erro "Cannot read property 'getDate' of undefined", ou seja o método getDate() está apontando para um objeto undefined, quando dei uma log para negociacao percebi que o atributo de data está como _data
Mudando para:
class NegociacaoController {
constructor(){
let $ = document.querySelector.bind(document);
this._inputData = $('#data');
this._inputQuantidade = $('#quantidade');
this._inputValor = $('#valor');
}
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
);
console.log(negociacao);
let dataFormatada = negociacao._data.getDate()
+ '/' + (negociacao._data.getMonth() + 1)
+ '/' + negociacao._data.getFullYear();
console.log(dataFormatada);
}
}
Funcionou corretamente, o que há de errado com meu código?