Olá! Não sei o que aconteceu aqui no meu código rs.
Vejamos:
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script>
class Negociacao {
constructor(data, quantidade, valor) {
this._data = new Date(data.getTime()); // criando uma nova instância a partir do tempo de uma data
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() {
return this._quantidade;
}
get valor() {
return this._valor;
}
}
var negociacao = new Negociacao(new Date(), 1, 100);
negociacao.data.setDate(negociacao.data.getDate() + 1);
console.log( negociacao.data.setDate(negociacao.data.getDate() + 1) );
//console.log( negociacao.data.setDate(11) );
</script>
</body>
</html>
No console está retornando um número aleatório, dessa forma: '1575652195827'.
Poderiam me ajudar a entender o que está errado?
Mesmo apagando tudo e deixando apenas o console para modificar a data:
console.log( negociacao.data.setDate(11) );
Aparece os mesmos números aleatórios conforme vou apertando F5.
Ocorre também, com o exercício assim, definido anteriormente:
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script>
class Negociacao {
constructor(data, quantidade, valor) {
this._data = data;
this._quantidade = quantidade;
this._valor = valor;
Object.freeze(this); // congela a instância do objeto
}
get volume() {
return this._quantidade * this._valor;
}
get data() {
return this._data;
}
get quantidade() {
return this._quantidade;
}
get valor() {
return this._valor;
}
}
var negociacao = new Negociacao(new Date(), 1, 100);
negociacao.data.setDate(negociacao.data.getDate() + 1);
console.log( negociacao.data.setDate(11) );
</script>
</body>
</html>
Obrigada =)