olá, eu entendi a necessidade de utilizar a programação defensiva, mas eu não entendo por que é preciso fazer isso tanto no constructor quanto no getter. no meu codigo:
class Negociacao {
constructor(data, quantidade, valor) {
this._data = new Date(data.getTime());
this._quantidade = quantidade;
this._valor = valor;
Object.freeze(this); // precisa tornar data um objeto blindado, tambem no get?
}
get data() {
return this._data;
}
get quantidade() {
return this._quantidade;
}
get valor() {
return this._valor;
}
get Volume() {
return this._quantidade * this._valor;
}
}
eu montei somente no constructor e não consigo quebrar isso, então me parece efetivo o suficiente? em casos mais complexos que seria util montar no getter tambem?