Implementei o código new Date() passando a string sem o ajuste do mês e estou obteno a data correta. Houve alguma atualização da linguagem que fizesse com que isso acontecesse!?
Implementei o código new Date() passando a string sem o ajuste do mês e estou obteno a data correta. Houve alguma atualização da linguagem que fizesse com que isso acontecesse!?
Oi, Ricardo, tudo bem?
Como você fez a declaração da instância Date? Vendo a documentação, a especificação para mês, ainda se começa com o valor 0, ai precisamos acrescentar 1 para ficar de acordo. https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Date#Two%20digit%20years
Olá Lais,
segue a declaração da minha classe e como está aparecendo no console:
lass Negociacao {
constructor(data, quantidade, valor) {
// o _ é uma convenção que esses atributos só podem ser acessados e alterados apenas pelos métodos das classes
this._data = new Date(data.getTime());
this._quantidade = quantidade;
this._valor = valor;
Object.freeze(this);
} get volume(){ return this.quantidade * this.valor;
}
get data(){
return new Date(this._data.getTime());
}
get quantidade(){ //get é uma espécie de métodos que é acessado como se fosse uma propriedade - sem os ()
return this._quantidade;
}
get valor(){
return this._valor;
}
}
CONSOLE:
Negociacao {data: Sat Nov 12 2016 00:00:00 GMT-0200 (Horário de Verão de Brasília), _quantidade: "1", _valor: "11"} _data: Sat Nov 12 2016 00:00:00 GMT-0200 (Horário de Verão de Brasília) {} _quantidade: "1" _valor: "11" data: (...) quantidade: (...) valor: (...) volume: (...) _proto__: Object
Estranho que dar o getMounth() realmente aparece o mês 10.
Adicionalmente, não realizei a arrow function na função "adiciona":
adiciona(event) { event.preventDefault();
let data = new Date(this._inputData.value.split('-'));
let negociacao = new Negociacao(
data,
this._inputQuantidade.value,
this._inputValor.value
);
Oi, Ricardo, tudo bem?
Se você fizer o teste do objeto data sem o split, o dia vai ser decrescido de 1, e o dia colocado na negociação não será compatível ao dia terá na saída. Isso porquê o split transforma um objeto string e uma array de subtring, ou seja, ele pega o valor data e divide ele. Assim, o objeto data aceita o data que é adicionada em negociação.